- 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?>
Для тру-ООП нужно:
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. С учётом первого пункта даже два класса не понадобятся: всё можно инициализировать уже в конструкторе.
Кажется, я учу чему-то плохому...
Так вроде в smalltalk ифов и форов как таковых нет - ветвление делается через посыл объекту boolean двух лямбд: ifFalse и ifTrue, и объект по своему стейту понимает, что вызвать А for - через внутренний итератор
http://ideone.com/1P60V1
Очень редко используется, однако, есть любители пихать её в пыхошаблоны, чтобы фигурные скобки глаза не мозолили либо потому что endif заметнее, чем скобка.