sverel
Новичок
Решил я в своём велосипеде избавится от засорения глобальной области видимости. Прикрутил Zend_Registry и начал везде всё заменять. Но сразу же возникли сомнения: там где раньше было одно примитивное действие, теперь начали появляться по 2-4 строки кода. Судите сами:
Было:
А вот так стало после прикрутки Zend_Registry:
И я задумался: зачем использовать класс, который, не предоставляет никакого нового ф-ционала в отличае от phpExcel или Zend_Form. Это всего лиш ещё одно хранилище для переменных. В результате родилась идея вместо класса создать всего одну глобальную переменную:
Это лишь немного усложнит первоначальный примитивный код:
В итоге мы имеем следующие преимущества:
1. Не надо засорять систему лишними классами, которые не предоставляют новый ф-ционал.
2. Не надо документировать->переводить->изучать новое API.
3. Используются стандартные нативные инструменты и языковые конструкции php.
4. Создание одной переменной вряд ли можно назвать "ЗАСОРЕНИЕМ глобальной области видимости".
5. Имеем полный контроль над реестром. В любой момент можно просмотреть всё его содержимое или очистить его.
Как Вам такая идея?
Или быть может я не умею использовать Zend_Registry ?
Было:
PHP:
// Пример первый (конкатинация):
$GLOBALS['title'] .= ' - новости';
// Пример второй (проверка на "не пусто"):
if ( ! empty($GLOBALS['currentSection']['metaKeyWords'])) {
// ....
}
А вот так стало после прикрутки Zend_Registry:
PHP:
// Пример первый (конкатинация):
$tmp = Zend_Registry::get('title');
$tmp .= ' - новости';
Zend_Registry::set('title', $tmp);
// Пример второй (проверка на "не пусто"):
if (Zend_Registry::isRegistered('currentSection')) { // Эта переменная может не существовать
$currentSection = Zend_Registry::get('currentSection');
}
if ( ! empty($currentSection['metaKeyWords'])) {
// ...
}
PHP:
$GLOBALS['registry'] = array();
PHP:
$GLOBALS['registry']['title'] .= ' - новости';
1. Не надо засорять систему лишними классами, которые не предоставляют новый ф-ционал.
2. Не надо документировать->переводить->изучать новое API.
3. Используются стандартные нативные инструменты и языковые конструкции php.
4. Создание одной переменной вряд ли можно назвать "ЗАСОРЕНИЕМ глобальной области видимости".
5. Имеем полный контроль над реестром. В любой момент можно просмотреть всё его содержимое или очистить его.
Как Вам такая идея?
Или быть может я не умею использовать Zend_Registry ?