Powered by CodeIgniter
sofcom

sofcom

0
2 голоса
  ПрофильБлог (6)Комментарии (92)Закладки (4)Продукты 
Буду описывать в режиме онлайн установку движка на хостинг (наметки будущих исправлений)
Скачал дистрибутив 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);
20:24 ← 21 января 2012 Отправить в Твиттер icedragonIceDragon  RSS comments 1
Чем больше пишу про cogear², тем больше хочется про него рассказывать и творить дальше. Вошел во вкус.
Итак, мы подобрались к заветному моменту любого движка — работе с формами. Ведь достаточно большую часть времени мы проводим именно вводя информацию на сайте. Чаще всего набирая коммент, конечно. И тем ценнее они для нас.
Мы помним, что первый cogear явил миру достаточно интересный метод работы с формами. Как и везде, здесь в ход идет системный анализ, обобщение, стандартизация. Во второй версии мы добились желаемых целей. Равно как и другие жизненно важные ключевые звенья cogear² шестеренка Form блещет своей ООП-реализацией. Теперь классами описывается все — форма, ее элементы, валидаторы и фильтры.
Устроим экскурс во внутренне устройство нашего Form API.
23:27 ← 31 июля 2011 Отправить в Твиттер adminadmin  RSS comments 21
Наконец, пришло время поговорить о еще одной системе, занимающей в грядущем cogear² ключевую роль. Речь, конечно же, идет о системе событий. Если вы еще не представляете картины происходящего, то навострите внимание.
Итак, у нас есть две разных шестеренки. Мы хотим связать их, да так, чтобы отключение/удаление одной из них не требовало вмешательства в код другой. Это только хардкорные программисты используют include и список модулей вбивают руками, в двадцать первом веке можно автоматизировать процесс, сделав работу с системой воистину удобной и быстрой.
22:58 ← 30 июля 2011 Отправить в Твиттер adminadmin  RSS comments 3
Вернемся к вопросу темизации, шаблонизации или оформления сайта, что суть одно. Вспомним базовые выводы наших предыдущих дискуссий.
Мы отказались от иного шаблонизатора, кроме как «голого короля» PHP. Такие вещи как Smarty только на первое время кажутся удобными, на деле же они дико тормозят любой движок. Зачем себе же на взлете резать крылья?
Мы разделили понятие темы и шаблона.
Шаблон — это любой файл, пропустив через который данные, на выходе мы получим желаемый результат.
Тема — это оформление сайта. В свою очередь в теме закреплены области, куда шестеренки могут выводить содержимое, которое, в свою очередь, может представлять собой скомпилированные шаблоны.
21:47 ← 29 июля 2011 Отправить в Твиттер adminadmin  RSS comments 14