23 декабря 2010

Критические замечания к CodeIgniter фреймворку

  • написал: MpaK
  • 126
CodeIgniter bugsЭто не пост гнева, а скорее желание помочь, кто будет наступать на грабли.
Не буду много писать, текст будет интересен тем, кто уже освоил CodeIgniter и знаком со стандартными классами и принципами или только начинает на нём писать и ему предстоит столкнутся с граблями. Всё актуально для версии 1.7.2, хотя как погляжу в 2ке так же не поправили и всё прежнее.

Но последнее время так как много времени уходит на допиливание ряда проектов на этом фреймворке, то приходится встречаться всё с новыми и новыми проблемами, которые так или иначе очень похожи на баги или недоработки.

Читать далее →
0
12 сентября 2010

DC.CMS и причем тут казалось бы Уроборос?! (часть №2)

Решения.
DC.CMS система управления содержанием сайтаПомните, в первой статье я упомянул три вопроса, которые почти всегда встают при создании CMS системы: 1. дерево, 2. модули, 3. интерфейс. Ряд вопросов уже получили своё решение. На данный момент я считаю их оптимальными, но ждущими ряда вложений в развитие своих сил. Но эти решения работают и причем вполне успешно.

Читать далее →
+2
12 сентября 2010

DC.CMS и причем тут казалось бы Уроборос?! (часть №1)

  • написал: MpaK
  • 106
Уроборос имеет несколько символических значений. Первое основано на символе змеи, кусающей свой хвост, – это олицетворение вечного возвращения в циклической форме или вечности вообще. В алхимической картине мира змея играет роль символа циклически протекающих процессов (испарение, конденсация, испарение – в многократном повторении)

DC.CMS система управления содержанием сайтаВ своей первой статье я рассказал свою историю пути по созданию DC.CMS, все шаги, варианты и вопросы которые на данный момент решены мною в новой версии системы или еще не совсем получили должное решение. Уже в этом тексте я бы хотел подробнее рассказать архитектуру своей новой системы, поделиться так сказать с общественностью, чтобы возможно увидеть какие-то замечания, предложения или вопросы. Так сказать от «глаз не замыленных».

Читать далее →
+2
08 сентября 2010

Share helper для CodeIgniter

  • написал: MpaK
  • 231
Share helper for CodeIgniter (Vkontakte, Facebook, Buzz, Twitter)В общем, совсем недавно Анатолий Шарифулин, евангелист Mojolicious фреймворка для Perl опубликовал не плохой plugin для простых, но в тоже время всё чаще встречающихся действий, как «расшаривание» контента своего сайта для социальных сетей Вконтакте, Facebook, Twitter и Buzz.

Читать далее →
+1
11 марта 2010

CodeIgniter в 2ой версии переходит в Mercurial под крылом сервиса BitBucket!

  • написал: MpaK
  • 143
Странная конечно новость и так последнее время все в ожидании выхода CI 2, так как уже подсмотрели частички в релизах ExpressionEngine 2.

В целом вот EllisLab переходит на Mercurial, Assembla, BitBUcket и CodeIgniter 2 теперь на BitBucket.

Переход на Mercurial в целом понятен, хотят тянуть разные ветки децентрализованно. Только почему не GIT, этого я не понял, кроме общего врага в сабвершене и то, что они больше в команде «любят» платонически Меркуриал — больше объяснений нет.


Читать далее →
+1
10 февраля 2010

CodeIgniter + HMVC маленький багфикс

  • написал: MpaK
  • 116
Знаете, есть маленькая неприятность обнаруженная совсем не вовремя.

В общих чертах у последнего 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' );
+1
01 декабря 2009

Мытьё рук или безопасное экранирование данных в моем понимании...

  • написал: MpaK
  • 137
Знаете как обычно происходит работа с данными пользователя в веб-приложении?

Показать форму для пользователя → получить данные → обработать и сохранить (например в БД) → в дальнейшем показать пользователю в нужном виде или в форме редактирования

Просто? Но всё же есть мелкие нюансы и на волне, что в последнее время я столкнулся с тоннами чужого кода и новым шаблонизатором Twig www.twig-project.org/ который желает всё и вся обезопасить перед выводом пользователю, я бы хотел добавить своих 5 копеек в общую копилку размышлений.

С детства нам прививают ряд жизненных правил, манеры. Поднимать стульчак мальчикам, здороваться со старшими, переходить дорогу на зеленый свет ну и т. д. На самое главное в нашей кухни это мыть руки перед едой. Так как я был хорошим мальчиком, то обязательно придерживаюсь и сейчас этого правила.



Читать далее →
+2