Комментарии 14
Вы бы ссылки в профиле починили бы http://ffcms.ru/ru/user/id1/bookmarks
А то ваша обертка с редеректом че то не работает
![image](https://habrastorage.org/r/w1560/getpro/habr/comment_images/1f1/bc5/43e/1f1bc543ebbd1ef72213eafe16c9c6a6.png)
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/
И тем более если уж делать обертку через редерект ссылок, то на свой же сайт можно ссылки и не оборачивать
А то ваша обертка с редеректом че то не работает
![image](https://habrastorage.org/getpro/habr/comment_images/1f1/bc5/43e/1f1bc543ebbd1ef72213eafe16c9c6a6.png)
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/
И тем более если уж делать обертку через редерект ссылок, то на свой же сайт можно ссылки и не оборачивать
0
Вид стал приятнее, молодцы.
Попробуйте для singleton'a (сразу бросилось в глаза) такой вид:
Кстати, когда будете поддерживать php >= 5.4 — можно перенести реализацию одиночки в типаж (trait).
Code-style можно было бы поправить, советую придерживаться PSR-стандартов
Попробуйте для singleton'a (сразу бросилось в глаза) такой вид:
protected static $instance; // по умолчанию имеет значение «null»
public static function getInstance() {
return self::$instance ? : new self; // так вроде изысканней)
}
Кстати, когда будете поддерживать php >= 5.4 — можно перенести реализацию одиночки в типаж (trait).
Code-style можно было бы поправить, советую придерживаться PSR-стандартов
-1
ваше «изысканней» не работает, так как getInstance будет всегда возвращать new self (даже не new statc). Вообще стоит отказываться от идеи использования сингелтонов в пользу нормального DI.
0
Ах, ну да… Могли бы подсказать, что забыл написать «self::$instance = new self».
codepad.viper-7.com/n3FkPf
codepad.viper-7.com/n3FkPf
-1
Ну тогда еще расстрою — ваш вариант все-равно не будет работать при наследовании. И да, вариант с if-ом намного более элегантен.
0
Для того, чтобы унаследовать синглтон просто используется «get_called_class»
codepad.viper-7.com/PWUYyz
codepad.viper-7.com/PWUYyz
-1
А теперь сравните:
и
$className = get_called_class();
return self::$instance ? : self::$instance = new $className;
и
if (!static::$instance) {
static::$instance = new static;
}
return static::$instance;
+1
Если через «static», то сравните:
и ваш:
Пример: codepad.viper-7.com/RvU34D
return self::$instance ? : self::$instance = new static;
и ваш:
if (!static::$instance) {
static::$instance = new static;
}
return static::$instance;
Пример: codepad.viper-7.com/RvU34D
-1
Отличная работа над ошибками! Продолжайте в том же духе.
0
Singletone можно вынести в trait вместо наследования, правда php 5.4 надо будет минимальную версию иметь в системных требованиях.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Патч-обновление FFCMS 2.0.4