Pull to refresh

Comments 14

Вы бы ссылки в профиле починили бы http://ffcms.ru/ru/user/id1/bookmarks
А то ваша обертка с редеректом че то не работает
image
http://ffcms.ru/ru/api.php?iface=front&object=redirect&url=http://ffcms.ru/static/doc.html
http://ffcms.ru/ru/api.php?iface=front&object=redirect&url=http://ffcms.ru/
И тем более если уж делать обертку через редерект ссылок, то на свой же сайт можно ссылки и не оборачивать
Да, раздел закладок будет существенно переработан, спасибо за напоминание.
Вид стал приятнее, молодцы.

Попробуйте для singleton'a (сразу бросилось в глаза) такой вид:

protected static $instance; // по умолчанию имеет значение «null»

public static function getInstance() {
    return self::$instance ? : new self; // так вроде изысканней)
}

Кстати, когда будете поддерживать php >= 5.4 — можно перенести реализацию одиночки в типаж (trait).
Code-style можно было бы поправить, советую придерживаться PSR-стандартов
ваше «изысканней» не работает, так как getInstance будет всегда возвращать new self (даже не new statc). Вообще стоит отказываться от идеи использования сингелтонов в пользу нормального DI.
Ну тогда еще расстрою — ваш вариант все-равно не будет работать при наследовании. И да, вариант с if-ом намного более элегантен.
А теперь сравните:
$className = get_called_class();

return self::$instance ? : self::$instance = new $className;


и

if (!static::$instance) {
    static::$instance = new static;
}

return static::$instance;
У вас любовь с тернарным оператором?
Отличная работа над ошибками! Продолжайте в том же духе.
Singletone можно вынести в trait вместо наследования, правда php 5.4 надо будет минимальную версию иметь в системных требованиях.
А еще можно вообще отказаться от сингелтона и перестроить архитектуру CMS. Но тогда придется ее выкинуть и писать все с нуля.
Да, DI. Или модули более независимыми делать, чтобы итеративно все же можно было поменять частями все.
Sign up to leave a comment.