Общие вопросы

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Alucard
Сообщения: 16
Зарегистрирован: 2009.11.02, 20:27

Общие вопросы

Сообщение Alucard »

Вобщем я новичок в фрэймворках, и у мну собственно возникли вопросы, без этого никак=)
1) Модели(Model) - для чего нужны, то есть как их правильно использовать, в каких случаях? Наткнулся в инете на статью(правда от пользователя Zend Framework) - http://zendframework.ru/anonses/model-with-mvc тут говорится что в контроллерах не должно быть много кода, модели должны обрабатывать запросы связанные с хранением информации. В Yii такая же политика? если да то как в внутри модели совершать чтение, запись инфы в БД?
2)Компоненты(components) - вот это вобще не понятно как использовать и в каких случаях, примерчики пожалуйста=) Я это использовал для вывода через layout панелей сайта, работает вот только я не знаю правильно это с точки зрения оптимизации, ну никак это не повлияет на быстродействие сайта или может как то по другому можно сделать для увеличения производительности?=)
3)Модули(Module) - ну это я понял для чего служат, вопрос другой, может через модули лучше сделать вывод панелей сайта? (панели хранятся в бд). И что то не получается создать модуль через yii tool =( пишет : Call to a member function getModulePath() on a non-object...
Вот.
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: Общие вопросы

Сообщение Ozzy »

Прости, но это основы-основ. Прочитай про MVC и начни разрабатывать. Осознание потом появится.
Читай статьи по теме что такое MVC и тп
Мой маленький блог - http://dbhelp.ru
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Общие вопросы

Сообщение samdark »

1) Вот тут я и Антон Исайкин описывали MVC короткими тезисами: http://code-igniter.ru/wiki/MVC. Может поможет (всё после «Создание приложения» можно не читать, если конечно не хотите изучать CodeIgniter).
В Yii такая же политика? если да то как в внутри модели совершать чтение, запись инфы в БД?
Да, как и во всех MVC-фреймворках. Если использовать ActiveRecord, то большинство операций с БД реализовывать руками не придётся. Для чего-то особенного можно использовать DAO в своих методах модели.

2) В Yii почти всё является компонентом, так что и использовать, соответственно, их можно почти для всего. Для увеличения производительности надо, прежде всего, ознакомиться с соотв. разделом руководства.

3)
Модули(Module) - ну это я понял для чего служат, вопрос другой, может через модули лучше сделать вывод панелей сайта?
Что-то сомневаюсь, что поняли… лучше перечитать ещё раз.

В yii tool были проблемы при работе с модулями, но вроде в последних версиях их исправили. Какую версию фреймворка используете?
Anton_Yu
Сообщения: 27
Зарегистрирован: 2009.10.29, 01:30

Re: Общие вопросы

Сообщение Anton_Yu »

Чтобы не плодить топиков, напишу, пожалуй, тут.

Хочу сделать для сайта интерфейс администратора. Как его лучше сделать? Пока что идея одна - модулем со своими моделями и контроллерами.
То, как сделано в демо-блоге, я думаю, мне не совсем подходит.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Общие вопросы

Сообщение samdark »

Топики лучше плодить. К тому же, вы сами ответили на свой вопрос.
Alucard
Сообщения: 16
Зарегистрирован: 2009.11.02, 20:27

Re: Общие вопросы

Сообщение Alucard »

О! Sam Dark, большое спасибо! =)
Использую yii-1.0.10.r1472
Да дело скорее всего в неправильном запуске... команда webapp работает, а вот шелловские не работают( Хотя один раз как то получилось запустить и создать модель User, но после перезагрузки ПК перестало работать =) Ну думаю еще покопаюсь и найду решение.
Ну и еще один вопрос, чтоб уж точно разобраться:
из статьи http://code-igniter.ru/wiki/MVC - "Controllers: ... Не работать с БД напрямую", эм из PostController.php (из blog-a)-

Код: Выделить всё

$post=new Post;
        if(isset($_POST['Post']))
        {
            $post->attributes=$_POST['Post'];
            if(isset($_POST['previewPost']))
                $post->validate();
            else if(isset($_POST['submitPost']) && $post->save())
...
 

"$post->save()" - это не есть связь с ДБ на прямую? =)
Аватара пользователя
Caveman
Сообщения: 152
Зарегистрирован: 2009.04.04, 20:56
Откуда: Москва
Контактная информация:

Re: Общие вопросы

Сообщение Caveman »

Alucard писал(а):"$post->save()" - это не есть связь с ДБ на прямую? =)
Это как раз и есть использование моделей. Post - модель, выполняющая всю работу по связи с БД, а контроллер только говорит, что модель должна выполнить.
Alucard
Сообщения: 16
Зарегистрирован: 2009.11.02, 20:27

Re: Общие вопросы

Сообщение Alucard »

ясно, спасибо большое
Ответить