Acode Framework: различия между версиями

Содержимое удалено Содержимое добавлено
Новая: == Установка Acode Framework. == 1. Распакуйте архив AFI.zip/AFI.tar.gz в вашу директорию.<br> Пример:<br> your_dir/<br> install/<br> insta...
 
Нет описания правки
Строка 35:
Метод f() только устанавливает переменные для приложения.<br>
== Примеры работы. ==
1. Структура фреймворка.<br>
Module - приложение, которое может работать автономно( например директория 'demo' спроектированная на основе архитектуры MVC). <br>
Extenstion - расширение функциональности и дополнительных возможностей самого фреймворка(например Smarty в system/af_ext/ ).<br>
Структура AF:
demo/ //приложение-модуль demo<br>
model/<br>
MyModel.php // модель для приложения<br>
templates_c/<br>
view/<br>
index.tpl // файл представления для приложения <br>
index.php // котроллер для приложения <br>
system/<br>
af_ext/ // директория для файлов расширений<br>
Smarty/<br>
Smarty.php // файл с классом расширения<br>
af_language/<br>
af_en.php // файл с переводом<br>
af_theme/<br>
default/ // имя темы<br>
js/<br>
css/<br>
images/<br>
af_index.php // layout для приложения<br>
af_core.php // ядро AF<br>
index.php // загрузочный файл приложения demo<br>
config.php // конфигурационный файл для приложения demo<br>
 
 
URL для доступа к приложению может быть 2 видов и распознаются автоматически: <br>
<code>http://localhost/acode/index.php/module_controller/index/param_name/param_value</code><br>
<code>http://localhost/acode/index.php?c=module_controller&m=index&param_name=param_value</code><br>
 
где module - имя модуля, controller - имя контроллера, index - имя метода, param_name - имя параметра передаваемого методу, param_value - значение этого параметра.<br>
В одном приложении одновременно можно использовать разные URL.<br>
Переменные 'c' для контроллера и 'm' для метода можно изменить в конф. файле config.php<br>
2. Настройка конфигурации.
В файле index.php можно изменять параметры конфигурации приложения через передачу массива в контроллер класса Config().<br>
Например:<br>
<source lang="php">
new Config(array("APPLICATION"=>array("LANGUAGE"=>"ru")));
или для определения роутинга для приложения
Строка 80 ⟶ 81 :
'/\/logout\//'=> array('demo_index','logout')
)));
</source>
3. Построение приложения.
URL: http://localhost/your_dir/index.php?c=demo_index&m=index&page=1
Файл контроллера demo/index.php:
<source lang="php">
<?php
class demo_index extends afController{
Строка 95 ⟶ 98 :
}
}
</source>
Файл представления index.tpl:
<source lang="php">
<div><?php echo $page; ?></div>
</source><source lang="php"></source>
4. Возможности контроллеров Acode Framework.
Установка новой темы для приложения с дополнительными параметрами для темы:
<source lang="php">
$this->f('layout', 'new', array('footerForLayout'=>'<input id="id_ajax" type="button" value="'.$this->lang->ajax_test.'">'));
</source>
или без них:
<source lang="php">
$this->f('layout', 'new');
</source>
Смена языка для приложения в конструкторе приложения:
<source lang="php">$this->f('lang', 'ru');</source>
Инициализация модели:
<source lang="php">
$this->model = $this->a('model', new demo_model_DB());
$this->model = $this->a('model','demo_model_DB');
</source>
5. Применение технологии AJAX.
При запросе ajax с помощью фреймворка jQuery http://localhost/your_dir/index.php?c=demo_index&m=test&param=value
Файл контроллера demo/index.php:
<source lang="php">
<?php
class demo_index extends afController{
Строка 117 ⟶ 130 :
}
}
</source>
6. Пример интеграции технологии ORM(OutletORM) в AF
Создайте новую базу данных с именем outlet.
Строка 123 ⟶ 137 :
В методе indexAction внесем новую запись в таблицу.
Файл контроллера index.php модуля demo:
<source lang="php">
<?php
class demo_index extends afController{
Строка 155 ⟶ 170 :
}
}
</source>
 
Файл модели User.php модуля demo:
<source lang="php"><?php
class demo_model_User extends afModel{
public $ID;
Строка 166 ⟶ 181 :
}
</source>