- 1
- 2
- 3
- 4
- 5
<?if (strlen($prod['img'])>0):?>
<img src="<?=URL::site()?>resize/resizer.php?type=photos&width=260&height=210&method=crop&image=<?=$prod['img']?>"/></a>
<?else:?>
<img src="<?=URL::site()?>resize/resizer.php?type=catalog&width=260&height=210&method=crop&image=nophoto.jpg"/></a>
<?endif?>
inkanus-gray 07.10.2015 19:37 # +2
Stallman 07.10.2015 19:47 # +6
UncaughtException 07.10.2015 20:38 # 0
Stallman 08.10.2015 00:27 # 0
UncaughtException 07.10.2015 20:36 # 0
inkanus-gray 07.10.2015 22:48 # +3
Для тру-ООП нужно:
1. Собирать ссылку с помощью http-build-query, передавая ей объект, публичные поля которого содержат type, width, height, method, image.
См.: http://php.net/manual/ru/function.http-build-query.php
2. Вместо явного ветвления внутри функции вызывать метод одного из двух классов, унаследованных от одного абстрактного или реализующих один интерфейс. Метод первого класса должен передавать type=photos и заданный image, а метод второго — type=catalog и image=nophoto.jpg.
3. С учётом первого пункта даже два класса не понадобятся: всё можно инициализировать уже в конструкторе.
Кажется, я учу чему-то плохому...
UncaughtException 08.10.2015 00:22 # 0
bormand 08.10.2015 06:10 # +2
roman-kashitsyn 08.10.2015 09:35 # +2
Так вроде в smalltalk ифов и форов как таковых нет - ветвление делается через посыл объекту boolean двух лямбд: ifFalse и ifTrue, и объект по своему стейту понимает, что вызвать А for - через внутренний итератор
inkanus-gray 08.10.2015 13:06 # 0
Vasiliy 08.10.2015 13:28 # +1
inkanus-gray 08.10.2015 13:44 # 0
http://ideone.com/1P60V1
inkanus-gray 08.10.2015 14:26 # 0
gost 07.10.2015 23:41 # 0
zombiee 08.10.2015 00:49 # 0
gost 08.10.2015 11:33 # 0
inkanus-gray 08.10.2015 11:43 # 0
Очень редко используется, однако, есть любители пихать её в пыхошаблоны, чтобы фигурные скобки глаза не мозолили либо потому что endif заметнее, чем скобка.