Последните няколко месеци имах възможността да работя с CodeIgniter. В някои отношения ми допадна, а в други не. Ще има хора, които ще се съгласят с мен, но също така ще има и такива, които няма да са.

Плюсовете не са много, но все пак е хубаво да се знаят. Един от тях е, че много хора ползват CodeIgniter. Това до някъде е страхотно, защото се изгражда едно наистина добро community. Ако имаш проблем – пишеш в някой форум и до пет минути си готов. Просто и лесно. Документацията наистина е страхотна. Богата, плътна, елементарна за разбиране. Документацията на CodeIgniter е за пример! Също така самият фреймуърк е доста лесен за учене и усвояване.

 

Минусите са наистина доста… първото и най-важното:

  • CodeIgniter учи на лоши практики!

Като започнем от именуването на файловете и класовете и стигнем до извикването на View/Controller. Ето примерен код:

<?php

class mytestclass {
    private $load = NULL;

    public function __construct() {
        parent::__construct();
        $this->load = TRUE;
    }
    public function index() {
        $this->load->view('dashboard');
    }
}
?>

Идеята в този код е, че искам да покажа View. Проблемът обаче е, че съм декларирал свойство $load в __contruct-а и при линия 11 ще ми върне грешка, че не може да извика метод от non-object. Защо по дяволите това е направено така?! Поне в документацията им да бе описано, че не мога да презаписвам $this->load…

  • Самият фреймуърк е суупер бавен. Кофти е написан… В много от нещата няма особен смисъл.
  • Защо трябва в config-a да описвам кои библиотеки да ми зарежда автоматично и от къде той е сигурен, че ще ги използвам после?! Има толкова много механизми, които могат да бъдат приложени в този случай…
  • Някой да ми обясни какъв е смисълът от т. нар. „Helpers“. Не, наистина, не виждам смисъл в тях…
  • Имат изключително малоумен начин за съхраняване на сесии… Всичките данни се бутан в една бисквитка, която има имит 4KB… Ако се опиташ да ги надвишиш ще получиш някаква грешка 500… и до там. За да избягате от този случай, ползвайте БД. Как? Вижте в документацията.
  • и последното нещо, за което в момента се сещам – защо по дяволите е писан на PHP5.1?!?!?!

Не го харесвам този фреймуърк! Някои неща не мога да разбера защо са направени така. Дано хората, които купят CodeIgniter да го оправят.