23 декабря 2010
Критические замечания к CodeIgniter фреймворку
Это не пост гнева, а скорее желание помочь, кто будет наступать на грабли.Не буду много писать, текст будет интересен тем, кто уже освоил CodeIgniter и знаком со стандартными классами и принципами или только начинает на нём писать и ему предстоит столкнутся с граблями. Всё актуально для версии 1.7.2, хотя как погляжу в 2ке так же не поправили и всё прежнее.
Но последнее время так как много времени уходит на допиливание ряда проектов на этом фреймворке, то приходится встречаться всё с новыми и новыми проблемами, которые так или иначе очень похожи на баги или недоработки.
Читать далее →
12 сентября 2010
DC.CMS и причем тут казалось бы Уроборос?! (часть №2)
Решения.
Помните, в первой статье я упомянул три вопроса, которые почти всегда встают при создании CMS системы: 1. дерево, 2. модули, 3. интерфейс. Ряд вопросов уже получили своё решение. На данный момент я считаю их оптимальными, но ждущими ряда вложений в развитие своих сил. Но эти решения работают и причем вполне успешно.
Читать далее →
Помните, в первой статье я упомянул три вопроса, которые почти всегда встают при создании CMS системы: 1. дерево, 2. модули, 3. интерфейс. Ряд вопросов уже получили своё решение. На данный момент я считаю их оптимальными, но ждущими ряда вложений в развитие своих сил. Но эти решения работают и причем вполне успешно.
Читать далее →
12 сентября 2010
DC.CMS и причем тут казалось бы Уроборос?! (часть №1)
Уроборос имеет несколько символических значений. Первое основано на символе змеи, кусающей свой хвост, – это олицетворение вечного возвращения в циклической форме или вечности вообще. В алхимической картине мира змея играет роль символа циклически протекающих процессов (испарение, конденсация, испарение – в многократном повторении)
В своей первой статье я рассказал свою историю пути по созданию DC.CMS, все шаги, варианты и вопросы которые на данный момент решены мною в новой версии системы или еще не совсем получили должное решение. Уже в этом тексте я бы хотел подробнее рассказать архитектуру своей новой системы, поделиться так сказать с общественностью, чтобы возможно увидеть какие-то замечания, предложения или вопросы. Так сказать от «глаз не замыленных».
Читать далее →
08 сентября 2010
Share helper для CodeIgniter
В общем, совсем недавно Анатолий Шарифулин, евангелист Mojolicious фреймворка для Perl опубликовал не плохой plugin для простых, но в тоже время всё чаще встречающихся действий, как «расшаривание» контента своего сайта для социальных сетей Вконтакте, Facebook, Twitter и Buzz.
Читать далее →
11 марта 2010
CodeIgniter в 2ой версии переходит в Mercurial под крылом сервиса BitBucket!
Странная конечно новость и так последнее время все в ожидании выхода CI 2, так как уже подсмотрели частички в релизах ExpressionEngine 2.В целом вот EllisLab переходит на Mercurial, Assembla, BitBUcket и CodeIgniter 2 теперь на BitBucket.
Переход на Mercurial в целом понятен, хотят тянуть разные ветки децентрализованно. Только почему не GIT, этого я не понял, кроме общего врага в сабвершене и то, что они больше в команде «любят» платонически Меркуриал — больше объяснений нет.
Читать далее →
10 февраля 2010
CodeIgniter + HMVC маленький багфикс
Знаете, есть маленькая неприятность обнаруженная совсем не вовремя.В общих чертах у последнего CodeIgniter 1.7.2 загруженного из SVN и HMVC библиотеки для модульности (вы же надеюсь её используете если работаете с CI?) при РУЧНОЙ загрузки и подключении к базе данных есть баг, просто не грузится класс и не создается подключение.
Как показало «расследование» с пристрастием, ошибку содержит именно HMVC.
Давайте исправим. Открываем наш файл Controller.php из папки application/libraries нашего приложения. находим
public function database($params = '', $return = FALSE, $active_record = FALSE) {и правим на
public function database($params = '', $return = FALSE, $active_record = <b>NULL</b>) {можно было бы сохранить и всё бы заработало, но всё же код лишний присутствует и пугает своей бредовой старостью и неуважением к типам
дальше уничтожаем строку
if (class_exists('CI_DB', FALSE) AND $return == FALSE AND $active_record == FALSE)
return;и заменяем на вот эти две строки
$CI =& get_instance();
if (class_exists('CI_DB', TRUE) AND ($return === FALSE) AND ($active_record === NULL) AND isset($CI->db) AND is_object($CI->db)) return FALSE;
Всё, можно смело запускать и радоваться загружая свои любимые профили баз как захочется
$this->load->database( 'production' );
01 декабря 2009
Мытьё рук или безопасное экранирование данных в моем понимании...
Знаете как обычно происходит работа с данными пользователя в веб-приложении?
Показать форму для пользователя → получить данные → обработать и сохранить (например в БД) → в дальнейшем показать пользователю в нужном виде или в форме редактирования
Просто? Но всё же есть мелкие нюансы и на волне, что в последнее время я столкнулся с тоннами чужого кода и новым шаблонизатором Twig www.twig-project.org/ который желает всё и вся обезопасить перед выводом пользователю, я бы хотел добавить своих 5 копеек в общую копилку размышлений.
С детства нам прививают ряд жизненных правил, манеры. Поднимать стульчак мальчикам, здороваться со старшими, переходить дорогу на зеленый свет ну и т. д. На самое главное в нашей кухни это мыть руки перед едой. Так как я был хорошим мальчиком, то обязательно придерживаюсь и сейчас этого правила.
Читать далее →
Показать форму для пользователя → получить данные → обработать и сохранить (например в БД) → в дальнейшем показать пользователю в нужном виде или в форме редактирования
Просто? Но всё же есть мелкие нюансы и на волне, что в последнее время я столкнулся с тоннами чужого кода и новым шаблонизатором Twig www.twig-project.org/ который желает всё и вся обезопасить перед выводом пользователю, я бы хотел добавить своих 5 копеек в общую копилку размышлений.
С детства нам прививают ряд жизненных правил, манеры. Поднимать стульчак мальчикам, здороваться со старшими, переходить дорогу на зеленый свет ну и т. д. На самое главное в нашей кухни это мыть руки перед едой. Так как я был хорошим мальчиком, то обязательно придерживаюсь и сейчас этого правила.
Читать далее →