CakePHP
Ещё весной после завершения работы над очередным сайтом я понял, что пора что-то менять в процессе программирования. А именно: найти и освоить подходящий «каркас» (framework) для более быстрой разработки. Пройдясь по нескольким сайтам со сравнениями (например этом), остановился на двух MVC-системах: CakePHP и Code Igniter. Важным условием для меня было и остаётся совместимость с PHP 4.
Решил остановиться на CakePHP из-за более полной документации и сравнительно неплохой поддержки (форум на Google Groups, примеры кода на CakeForge) Выглядит разработка приложения на CakePHP примерно так:
Модель (база данных), предположим, для таблицы users:
class User extends AppModel
{
var $name = 'User';
}
И это всё. Теперь контроллер для пользователей:
class UsersController extends AppController
{
var $name = 'Users';
function index()
{
$this->pageTitle = 'Пользователи';
$this->set('users', $this->User->findAll());
}
function view($id = null)
{
$this->pageTitle = 'Пользователь №'.$id;
$this->User->id = $id;
$this->set('user', $this->User->read());
}
}
Соответственно index() будет обрабатывать индексную страничку /users/, а view() — страничку пользователя /users/view/{id}/.
Ну и шаблон для функции view(), к примеру (файл шаблона называется по имени функции контроллера — view.thtml):
= $user['User']['name'] ?>
Email: = $user['User']['email'] ?> = $user['User']['description'] ?>
Т.е. просто выводим эти переменные в html. Где name, email и description — поля в таблице users.
Когда я делал первый сайт с помощью CakePHP, мне иногда казалось, что раньше я программировал на ASMе.
Хотелось бы отметить также, что CakePHP использует те же самые принципы, что и модный нынче RubyOnRails. Однако CakePHP имеет 1 очень важное преимущество перед RoR: огромная распространённость PHP. Сложно найти хостинг, который не имеет поддержки PHP 4.
-
Евгений
-
Евгений
-
http://inline.dn.ua/ Setti
-
SerejK
-
http://cake-php.ru Николай
-
http://snowcore.blogspot.com/ Snowcore
-
Aziz
-
http://www.vint.if.ua Тамерлан
-
Марго
-
Marvin
-
Мамончик Александр