Последните няколко месеци имах възможността да работя с 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 да го оправят.

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0Share on Reddit0Email this to someone