DOM в фреймворке AiKi

DOM в фреймворке AiKi

Document Object Model (DOM) является ядром фреймворка AiKi. Это позволяет легко оперировать темплейтами и формами, делать вставки, замены, генерацию HTML кода. Синтаксис и методы очень напомимает широко распространённый JavaScript-фреймоврк jQuery.

Понятие и использование селекторов точно такое же, как и в jQuery  http://api.jquery.com/category/selectors/, методы так же в большинстве случаев повторяют методы jQuery.

Для получения DOM используется несколько специальных функций, рассмотрим на примерах:

<?php
include($_SERVER["DOCUMENT_ROOT"]."/engine/engine.php");
// получаем DOM из строки
   $out=aikiFromString("<div>Hello world!</div>");

// получаем DOM из файла
   $out=aikiFromFile("/sample.htm");

// получаем DOM из темплейта
   $out=aikiGetTpl("/template.php");

// получаем DOM из формы
   $out=aikiGetForm("page","edit");
?> 

Теперь, имея DOM можно им манипулировать, рассмотрим ещё один пример:

<?php
include($_SERVER["DOCUMENT_ROOT"]."/engine/engine.php");
$out=aikiFromString("<nav><ul class='mainmenu'>
     <li><a href='#home'>Home</li>
     <li><a href='#about'>About</li>
     <li><a href='#service'>Service</li>
     <li><a href='#price'>Price</li>
</ul></nav>");

// В зависимости от роли пользователя добавляем пункт меню
if ($_SESSION["user_role"]=="noname") {
    $out->find(".mainmenu")->append("<li><a href='/login.htm'>LogIn</li>");
} else {
    $out->find(".mainmenu")->append("<li><a href='/logout.htm'>LogOut</li>");
}

// выводим результат
echo $out->outerHtml(); 
?> 

Ещё один полезный пример - организация прохода по всем отобранным элементам:

<?php
include(__DIR__."/engine/engine.php");
$out=aikiFromString("<nav><ul class='mainmenu'>
     <li><a href='#home'>Home</li>
     <li><a href='#about'>About</li>
     <li><a href='#service'>Service</li>
     <li><a href='#price'>Price</li>
</ul></nav>");
// получаем список элементов
   $list=$out->find(".mainmenu li");
   foreach($list as $li) {
       // по условию меняем содержимое элемента
          if ($li->text()=="Service") {$li->html("<a href='/service.htm'>Service</a>");}
}
// выводим результат
   echo $out->outerHtml();
?>

Таким образом, как видите, в руках программиста использующего AiKi оказывается мощный инструмент для создания сайтов и приложений, использующий Document Object Model (DOM).

Интеграция с Bootstrap v.3

Чистый & понятный код

Парсер DOM в PHP