-------------
esterio: version_compare()
DeepVarvar: тем не менее версия определяется и сравнивается корректно через (float).
esterio: но version_compare() как-то правильнее чтоли
-------------
esterio:
/**
* set main environment path's,
* WARNING! set path's without default value of get_include_path()
*/
set_include_path(
APPLICATION . PATH_SEPARATOR . CORE . PATH_SEPARATOR . LIBRARY . PATH_SEPARATOR . EXTENSIONS
);
что-то я не нарыл get_include_path
DeepVarvar: а он и не нужен - тут я отрубаю все пути, что по умолчанию стояли и ставлю только свои.
-------------
esterio:
function __autoload($fileName) {
$file = "{$fileName}.php";
require_once $file;
}
http://php.net/manual/en/functio...oad-register.php
DeepVarvar: в spl_* нет нужды - автолоадер всего один,
поэтому можно использовать тот что по умолчанию.
esterio: но он не рекомендуется.
DeepVarvar: не встречал не-рекомендаций.
esterio: если я захоче все-же подключть другую лыбу то у меня будут траблы.
DeepVarvar: Если ты захочешь подключить другую либу - положи её в папку extensions.
esterio: spl_autoload_register() предоставляет более гибкую альтернативу
для автоматической загрузки классов.
По этой причине использовать __autoload() не рекомендуется,
а сама функция в будущем может перестать поддерживаться или быть удалена.
DeepVarvar: принято!
-------------
esterio: file_exists не нужен так як is_writeble проверяет на существования
DeepVarvar: принято!
-------------
esterio: не мог так и понять зачем папка config должна быть доступна на запись.
DeepVarvar: затем, что при изменении конфига, туда пишется измененная копия,
а исходный конфиг остается для возможности сбросить все настройки (откатиться).
-------------
esterio: так и не понял как в utils попал конфиг.
DeepVarvar: он не только туда попадает, им пользуются все компоненты ядра.
esterio: storage - ключ записи в сессию лучше вынести в свойство, для быстой смены.
DeepVarvar: принято!
-------------
esterio: self::$mysqli->set_charset($charset);
были у меня с ним траблы, лучше по старинке SET NAMES
DeepVarvar: хм, ладно, поправим. принято!
-------------
esterio: db::escapeRecursive() - там нету рекурсии, и поетому названия не подходит.
DeepVarvar: принято!
-------------
esterio: вместо do..while я бы использовал обыный while
DeepVarvar: насколько я помню - простой while у меня не поехал и выдавал ошибку.
-------------
esterio: подключить две или более баз не получится.
DeepVarvar: и это верно, данный экземпляр не задумывался как "мультик".
Но в будущем - подумаем, реализуем. принято!
-------------
esterio: baseController::getPermissions и baseController::getDenyActions
- тут мне больше понравилось как в Yii не делать массив, а переопределять метод,
чтобы он возвращл массив, больше можно делать манипуляций.
своего рода рефлексия получается. в том же Yii меня ето очень спасло.
DeepVarvar: этот метод может вызываться много раз,
зачем каждый раз "генерить" результативный массив при обращении к нему?
esterio: ну а закешировать в роутере результат раз и можна тогда не беспокоится.
esterio: а что ето за node класс такой?
DeepVarvar: ну я закешировал в самом контроллере
node кстати это класс который может держать в себе несколько контроллеров за раз,
и вообще все что угодно может держать, так права в роутере не закешируешь точно.
-------------
esterio: $controller->preLoad(); $controller->runBefore();
здесь я runBefore винес бы не при загрзке контола,
а уже непосредсвенно перед вызовом action-а.
DeepVarvar: смутно помню что по каким-то причинам нужна была эта последовательность вызовов.
-------------
esterio: view::draw() - вот здесь exit($layoutContent);
фу-фу-фу. лучше return и echo наверху
DeepVarvar: Эмм.. рендер страниц тут немножко не "классический",
поэтому такое поведение тут было уместным.
-------------
esterio: return md5(md5(md5($str))); вот здесь ты меня удивил
DeepVarvar: кажется это тянется с таких бородатых времен, что пока простительно,
это не важно - хеш зависит от группы, пароля и много много еще чего,
там достаточно даже одной md5().
-------------