Читаю сейчас эту книжку. Написано все просто и понятно. Читается на одном дыхании. Поразительно, но нет ни капли воды (вообще это характерно большинство книг от oreilly). Возникает ощущение, что после прочтения книги можно свободно писать на django сайты.
Вообще сама платформа поразила меня своей простотой, самодостаточностью и логичностью. Все понятно, почему сделано так, а не иначе, все находится там, где и ожидаешь это найти, и т.д. И становится немного грустно, потому что такого нет на PHP. Ни один фреймворк на PHP не оказался хотя бы близко похожим по сочетании мощности и простоты на Django и Rails (ROR я усиленно изучал еще год назад).
Лидер php-фреймворков Zend вот уже несколько лет упорно сопротивляется моим попыткам покорить его. После выполнения Get Started впадаешь в ступор - а что, если я хочу сделать так, а не иначе? И начинаются поиски по форумам, по документации. В конце находится статья Matthew Weier O'Phinney, в которой он говорит, что да, есть такая проблема и в версии 2 мы сделаем все иначе (я говорю про модульность приложений на Zend). Будем ждать вторую версию, значит. Не говорю уже про Symfony и другой андеграунд.
Единственное, что мне нравится из php-фреймворков это Yii. Однако в нем все равно нет той простоты и легкости, которая характерна для Django.
Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения
вторник, 30 марта 2010 г.
среда, 17 марта 2010 г.
Работа с формами в PHP
<?php
/*
При работое с формами удобно применять объектно-ориентированный подход.
То есть вы представляете форму как объект
*/
$loginForm = new LoginForm();
//заполняем форму из запроса
//если в запросе были переданы данные формы,
//то объект заполняется данными
if($loginForm->extractFromRequest($_POST) === true)
{
//данные из формы были переданы, можно обрабатывать
//валидация данных
//форма накапливает сообщения об ошибках валидации
//своих полей, чтобы потом вывести их пользователю
if($loginForm->validate())
{
//извлечение провалидированных данных из формы
$loginForm->getName();
$loginForm->getPassword();
//редирект на страницу, куда должен
//попасть пользователь после обработки формы
}
}
//вывод html формы
echo $loginForm->render();
/*
При работое с формами удобно применять объектно-ориентированный подход.
То есть вы представляете форму как объект
*/
$loginForm = new LoginForm();
//заполняем форму из запроса
//если в запросе были переданы данные формы,
//то объект заполняется данными
if($loginForm->extractFromRequest($_POST) === true)
{
//данные из формы были переданы, можно обрабатывать
//валидация данных
//форма накапливает сообщения об ошибках валидации
//своих полей, чтобы потом вывести их пользователю
if($loginForm->validate())
{
//извлечение провалидированных данных из формы
$loginForm->getName();
$loginForm->getPassword();
//редирект на страницу, куда должен
//попасть пользователь после обработки формы
}
}
//вывод html формы
echo $loginForm->render();
Подписаться на:
Сообщения (Atom)