Пуля — дура. Пых — молодец.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 07:24:17

Страниц: [1] 2
Печать
Автор Тема: Пишу блог, нужны советы  (Прочитано 481 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Kikky    ↓ 
04 Апрель, 2011, 05:58:44
НЕ ХУЕТА! ХУЕТА!


Карма: 2
Сообщений: 175
Сила слова: 1.14

Пишу блог на ZF в качестве своего первого проекта с помощью ООП, начал с пользовательской части и уже написал её, всё работает.
Выделил 2 фронт контроллера: Public и Admin..правильно ли так делать в моем случае?
Вот пример кода, оцените, может что-то подскажете что делаю не правильно, криво или нерационально..Спасибо.
Это экшн, отвечающий за вывод полного содержания поста:
PHP
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);
    }
Записан

Уроки по PHP и не только!
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, то выскочит эксепшн.
Записан

Уроки по PHP и не только!
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'.
Записан

Уроки по PHP и не только!
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


так выскочит экцепшн и сработает валидатор - разные вещи %;)
выскочит эксепшн, который перехватит валидатор ;)
Записан

с ув. mario.
Контакты
Kikky    ↓ 
04 Апрель, 2011, 07:08:26 , спустя 6 минут 43 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 2
Сообщений: 175
Сила слова: 1.14

Ну да, ну да))
 
..а если на этом же сайте делать магазин с каталогом, корзиной и т.п., то просто выделять для него ещё один контроллер и всё?
Записан

Уроки по PHP и не только!
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, Спасибо :)
Записан

Уроки по PHP и не только!
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

truth4oll,
DbTable_Posts
Записан

качество жизни обратно пропорционально количеству лени
Kikky    ↓ 
04 Апрель, 2011, 09:21:01 , спустя 16 минут 54 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 2
Сообщений: 175
Сила слова: 1.14

kostyl, ну да, это чтобы имя экземпляра соответствовало имени класса :)
Спустя 2 минуты 22 секунды добавил
truth4oll, к тому же единственный пост будет лежать вот здесь $this->view->post.
Записан

Уроки по PHP и не только!
Страниц: [1] 2
Печать
 

Перейти в:  

Этот топик скрыли: md5, adw0rd, Sinkler