| Профиль | Блог (6) | Комментарии (92) | Закладки (4) | Продукты |
Буду описывать в режиме онлайн установку движка на хостинг (наметки будущих исправлений)
Скачал дистрибутив dev с github.com на 21 01 2011
распаковал на хостинг реального хостера (PHP Version 5.2.17)
Установил БД, переименовал cogear.new в поддомен сайта (по которому и тестирую), прописал настройки
При запуске получил ошибку
Как выяснилось — в файле index.php на 94 строке $host оказался NULL
при этом в $_SERVER['HTTP_HOST'] лежал адрес сайта
Нашел что это баг php при фильтрации (т.е. нужна другая версия php)
https://bugs.php.net/bug.php?id=49184
на версии php Version 5.3.6 работает нормально, т.е. в отношении реального хостинга надо придумать что то другое.
Пока что прописал
Тоже самое с
Дальше была проблема с интернационализацией.
В файле /sites/cogear.new/config.php по умолчанию установлено следующее
Считывается это так (/engine/I18n/Gear.php )
Как результат — у нас не установлена опция 'path', и он искал файл языка в '/ru.php'
Прописал в конфиг — 'path' => SITE.DS.'lang',
варианта еще 2.
1й — определить опцию по умолчанию 'path' => SITE.DS.'lang',
или 2й — проверять при использовании и если нет — то использовать 'path' => SITE.DS.'lang'
Сайт загрузился без видимых ошибок.
Залогинился.
При попытке изменить настройки текущего пользователя — не сохранил настройки.
Оказалось что в шестеренке USER при сохранении редактированных данных нужен
Скачал дистрибутив dev с github.com на 21 01 2011
распаковал на хостинг реального хостера (PHP Version 5.2.17)
Установил БД, переименовал cogear.new в поддомен сайта (по которому и тестирую), прописал настройки
При запуске получил ошибку
Notice: Trying to get property of non-object in /engine/Theme/Gear.php on line 173
Notice: Trying to get property of non-object in /engine/Theme/Gear.php on line 173
Notice: Indirect modification of overloaded property Cogear::$theme has no effect in /engine/Theme/Gear.php on line 173
Strict Standards: Creating default object from empty value in /engine/Theme/Gear.php on line 173
Notice: Trying to get property of non-object in /engine/Theme/Gear.php on line 174
Notice: Trying to get property of non-object in /engine/Theme/Gear.php on line 174
Fatal error: Call to a member function append() on a non-object in /engine/Theme/Gear.php on line 174
Как выяснилось — в файле index.php на 94 строке $host оказался NULL
$host = $cogear->request->get('HTTP_HOST');
при этом в $_SERVER['HTTP_HOST'] лежал адрес сайта
Нашел что это баг php при фильтрации (т.е. нужна другая версия php)
/engine/Core/Request.php на 64 строке
https://bugs.php.net/bug.php?id=49184
на версии php Version 5.3.6 работает нормально, т.е. в отношении реального хостинга надо придумать что то другое.
Пока что прописал
$host = $_SERVER['HTTP_HOST'];
Тоже самое с
$port = $cogear->request->get('SERVER_PORT').Дальше была проблема с интернационализацией.
В файле /sites/cogear.new/config.php по умолчанию установлено следующее
'i18n' =>
array (
'lang' => 'ru',
),
Считывается это так (/engine/I18n/Gear.php )
$this->adapter = new $adapter(config('i18n',array(
'lang' => 'en',
'path' => SITE.DS.'lang',
)));
Как результат — у нас не установлена опция 'path', и он искал файл языка в '/ru.php'
Прописал в конфиг — 'path' => SITE.DS.'lang',
варианта еще 2.
1й — определить опцию по умолчанию 'path' => SITE.DS.'lang',
или 2й — проверять при использовании и если нет — то использовать 'path' => SITE.DS.'lang'
Сайт загрузился без видимых ошибок.
Залогинился.
При попытке изменить настройки текущего пользователя — не сохранил настройки.
Оказалось что в шестеренке USER при сохранении редактированных данных нужен
$user->object->adopt($result);
а не $user->adopt($result);
Чем больше пишу про cogear², тем больше хочется про него рассказывать и творить дальше. Вошел во вкус. Итак, мы подобрались к заветному моменту любого движка — работе с формами. Ведь достаточно большую часть времени мы проводим именно вводя информацию на сайте. Чаще всего набирая коммент, конечно. И тем ценнее они для нас.
Мы помним, что первый cogear явил миру достаточно интересный метод работы с формами. Как и везде, здесь в ход идет системный анализ, обобщение, стандартизация. Во второй версии мы добились желаемых целей. Равно как и другие жизненно важные ключевые звенья cogear² шестеренка Form блещет своей ООП-реализацией. Теперь классами описывается все — форма, ее элементы, валидаторы и фильтры.
Устроим экскурс во внутренне устройство нашего Form API.
Наконец, пришло время поговорить о еще одной системе, занимающей в грядущем cogear² ключевую роль. Речь, конечно же, идет о системе событий. Если вы еще не представляете картины происходящего, то навострите внимание. Итак, у нас есть две разных шестеренки. Мы хотим связать их, да так, чтобы отключение/удаление одной из них не требовало вмешательства в код другой. Это только хардкорные программисты используют include и список модулей вбивают руками, в двадцать первом веке можно автоматизировать процесс, сделав работу с системой воистину удобной и быстрой.
Вернемся к вопросу темизации, шаблонизации или оформления сайта, что суть одно. Вспомним базовые выводы наших предыдущих дискуссий.Мы отказались от иного шаблонизатора, кроме как «голого короля» PHP. Такие вещи как Smarty только на первое время кажутся удобными, на деле же они дико тормозят любой движок. Зачем себе же на взлете резать крылья?
Мы разделили понятие темы и шаблона.
Шаблон — это любой файл, пропустив через который данные, на выходе мы получим желаемый результат.
Тема — это оформление сайта. В свою очередь в теме закреплены области, куда шестеренки могут выводить содержимое, которое, в свою очередь, может представлять собой скомпилированные шаблоны.


admin → блог Nepofigist / О Cogear: немного эмоций 11
JiLiZART → Новости / Релиз фреймворка задерживается 173
Oleksandr → Обновления / Loginza 19
Ramir → Запросы, предложения и планы / Оптимизация Cogear One 3
Ramir → блог aesteral / Сжатие JavaScript и CSS 2
IceDragon → блог IceDragon / Тестирование cogear2 на реальном хостинге 1