CIEXtended

как бродя по просторам инетерен наткнуляся на сайт
CIEXtended (CIEX). так как я интересуюсь PHP фремворками вообще
а также CI (codeigniter) в частоности то так как я прочитал
что CIEXtended Framework да и еще базируется на CI решил скачать
последнюю версию (0.9.2) что при случае посмотреть.


вот сегодня пришло время я распоковал архив и начал смотреть что это за зверь.
порылся по папке : структура то не очень напоминает CI.
бросил папку в www XAPPa запустил localhost в Лисе.
да и что дальще делать ?! ...
заметил папку "public_html" - ага пойду туда и сразу получаю страницу
с жалобами что нету конекта к БД.
ага значит нужно что то сконфигуровать.
иду на угад в папку "code" обрадованно вижу папку "config".
ну тут всё ясно : открываю Notepag++ "database.php" делаю
тривиальные измениния и снова к Лисе : обновляю public_html.
вот сейчас другое дело получаю довольную страницу с приветвием
"Welcome to CIEXtended!" а также рекомендации как изменить вид т конеролер.
сразу обращаю внимание что в отличии от CI
и вид и конролер лежат в одной папке.
code/modules/home/views/home_view.php
code/modules/home/controllers/home.php
наверное модульная структура.
ну что полезу в конроллер.
вижу
function index()
{
$this->load->helper('url');
$this->load->view('home_view');
}
что грузиться хелрер 'url' ну и вид 'home_view'.
вспоминая cake думаю ах это можно было бы и $this->load->view('home_view'); не писать.
ну что пойдём в вид.
о да тут целая HTML станица . да я думал есть хоть какой то tempale.-(
бросается в глаза еще Toggle Debug : нужно будет потом посмотреть побробнее что это.
на первый взляд штука удобная - кликнул и выползает футер с отладочной инофрмацией.
теперь поищем хелрер 'url'. лезу сначала в "\libs\helpers" - ха ничего нету.
идем в "\sys\helpers" ага там они все многие знакомые еще с CI.
нахожу на стартовой станице сслылку на простой пример кликаю.
ага тут уже работа с БД.
смотрим конроллер
function test()
{
$this->load->helper('url');
$test = new Test();
$test->setName('hi');
$test->save();
$this->data['test'] = Test::all();
$this->layout->view('test', $this->data);
}
опять $this->load->helper('url'); как неэкономно второй раз писать тоже самое. бросаю взляд на другие
функии так и есть всегда пишут $this->load->helper('url'); а как же конструктор класса ?
далее $test = new Test(); - вобще непонятно что за Test такой ?
догадываюсь а наверное модель . идем искать модели....
замечам папку "layout" ага думаю всё таки tempale навеное есть может быть .
в папке со странным название "extend" вижу test.php - может модель ?
смотрю и вижу что то страное внунри
class Test extends CIEX
{

// The table which the object will be working with.

protected static $table = 'test';


public static function all()
{

$ci =& get_instance();

$res = Array();

$q = $ci->db->get(self::$table);

foreach($q->result() as $r)

{

$res[] = self::assemble($r->{self::$table.'_id'});

}

return $res;

}
}

// The table which the object will be working with.

protected static $table = 'test';

очень важный коммернтрий.эх где ты cake c DRI.
ну да ладно .
$test->setName('hi');
$test->save();
выглядят очень привлекательно.
смотрю еще раз на старницу public_html/home/test и кликаю на Toggle Debug.
вижу кучк селектов SELECT * FROM (`test`) WHERE `test_id` = N
причем на каждый ID по 2 раза - зачем это так всё сложно задумано ,-)

вижу что вид test.php уже не полная страница а только вставка.
ага что то изменилась
по сравнению с index.
ищу отличия и вот вижу желаную строку $this->layout->view()
вместо $this->load->view(). красота.


итак подытожу CIEXtended мне вообщем понравился
есть Toggle Debug есть Tempate .
обилие селектов как то настораживает.
попробую завтра что то сварганить простое с CIEXtended ....

Комментариев нет:

Отправить комментарий