|
Kikky ↓
|
 |
|
04 Апрель, 2011, 05:58:44
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 2
Сообщений: 175 Сила слова: 1.14
|
Пишу блог на ZF в качестве своего первого проекта с помощью ООП, начал с пользовательской части и уже написал её, всё работает.
Выделил 2 фронт контроллера: Public и Admin..правильно ли так делать в моем случае?
Вот пример кода, оцените, может что-то подскажете что делаю не правильно, криво или нерационально..Спасибо.
Это экшн, отвечающий за вывод полного содержания поста:
public function postAction()
{
$posts = new Application_Model_DbTable_Posts();
$id = $this->getRequest()->getParam('id');
$this->view->post = $posts->getById($id);
$categories = new Application_Model_DbTable_Categories();
$this->view->categories = $categories->fetchAll();
$comments = new Application_Model_DbTable_Comments();
$this->view->comments = $comments->getByPostId($id);
$form = new Application_Form_Comment($options = null);
$form->submit->setLabel('Leave a comment');
$this->view->form = $form;
if($this->getRequest()->isPost())
{
$formData = $this->getRequest()->getPost();
if($form->isValid($formData))
{
$name = $form->getValue('name');
$email = $form->getValue('email');
$content = $form->getValue('content');
$comments->addComment($name, $email, $content, $id);
$this->_helper->redirector->gotoUrl('/index/post/id/'.$id);;
}
}
$this->view->title = $this->view->post->title;
$this->view->headTitle($this->view->title);
}
|
|
|
|
|
Записан
|
|
|
|
|
Flare ↓
|
 |
|
04 Апрель, 2011, 06:11:38 , спустя 12 минут 54 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 9
Сообщений: 253 Сила слова: 3.56
|
разделять на 2 фронт контроллера незачем, я у себя разделял в отдельный только для Install
ну еще может быть писал$this->_request->getPost('title'); вместо $this->view->post->title;
|
|
|
|
|
Записан
|
Если программист в 07.00 утpа на pаботе, значит он там ночевал...
|
|
|
|
kostyl ↓
|
 |
|
04 Апрель, 2011, 06:14:52 , спустя 3 минуты 14 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
а у экшена разве нельзя просто getParam взять?
if($form->isValid - а где else ?
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
Kikky ↓
|
 |
|
04 Апрель, 2011, 06:44:16 , спустя 29 минут 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 2
Сообщений: 175 Сила слова: 1.14
|
Flare, ясно, мне просто так удобнее показалось.
kostyl, - можно, но я через getRequest всё написать решил..
- если isValid будет false, то выскочит эксепшн.
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
04 Апрель, 2011, 06:51:25 , спустя 7 минут 9 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
Kikky, т.е если я не заполнил имя или мыло, я не пойму толи сайт не работает, толи одно из двух?
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
Kikky ↓
|
 |
|
04 Апрель, 2011, 06:56:23 , спустя 4 минуты 58 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 2
Сообщений: 175 Сила слова: 1.14
|
kostyl, ну вот я оставил пустыми имя и мыло, нажал submit и возле каждого из этих полей увидел 'Value is required and can't be empty'.
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
04 Апрель, 2011, 07:00:14 , спустя 3 минуты 51 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
так выскочит экцепшн и сработает валидатор - разные вещи %;)
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
mario ↓
|
 |
|
04 Апрель, 2011, 07:01:43 , спустя 1 минуту 29 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
так выскочит экцепшн и сработает валидатор - разные вещи %;)
выскочит эксепшн, который перехватит валидатор ;)
|
|
|
|
|
Записан
|
|
|
|
|
Kikky ↓
|
 |
|
04 Апрель, 2011, 07:08:26 , спустя 6 минут 43 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 2
Сообщений: 175 Сила слова: 1.14
|
Ну да, ну да))
..а если на этом же сайте делать магазин с каталогом, корзиной и т.п., то просто выделять для него ещё один контроллер и всё?
|
|
|
|
|
Записан
|
|
|
|
|
Flare ↓
|
 |
|
04 Апрель, 2011, 07:46:34 , спустя 38 минут 8 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 9
Сообщений: 253 Сила слова: 3.56
|
BasketController, CatalogController
|
|
|
|
|
Записан
|
Если программист в 07.00 утpа на pаботе, значит он там ночевал...
|
|
|
|
Kikky ↓
|
 |
|
04 Апрель, 2011, 08:20:31 , спустя 33 минуты 57 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 2
Сообщений: 175 Сила слова: 1.14
|
Flare, Спасибо :)
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
04 Апрель, 2011, 08:38:02 , спустя 17 минут 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
Kikky, я думал у тебя выскочит эксцепшн, который ты не перехыватываешь...
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
truth4oll ↓
|
 |
|
04 Апрель, 2011, 08:42:06 , спустя 4 минуты 4 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 15
Сообщений: 471 Сила слова: 3.18
|
$posts->getById($id);
в переменной с множественным числом будет лежать один единственный пост
мелочь, но не приятно
|
|
|
|
|
Записан
|
План прост - потому красив
|
|
|
|
kostyl ↓
|
 |
|
04 Апрель, 2011, 09:04:07 , спустя 22 минуты 1 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
Kikky ↓
|
 |
|
04 Апрель, 2011, 09:21:01 , спустя 16 минут 54 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 2
Сообщений: 175 Сила слова: 1.14
|
kostyl, ну да, это чтобы имя экземпляра соответствовало имени класса :) Спустя 2 минуты 22 секунды добавил truth4oll, к тому же единственный пост будет лежать вот здесь $this->view->post.
|
|
|
|
|
Записан
|
|
|
|
|