Гласные и негласные правила написания приложений
- taurus2790
- Сообщения: 52
- Зарегистрирован: 2015.01.29, 20:12
Гласные и негласные правила написания приложений
Добрый ночи всем.
Начинаю изучать Yii2 после нескольких платных курсов по php. Начал создавать своё приложение, и пака не зашёл далеко хотелось бы не наделать ошибок позади.
Скажите какие есть общие правила хорошего тона, или просто удобное строение хорошего приложения. По расположению модулей, моделей, контроллеров и вьюшек.
Вот у нас следующая структура.
backend - базовые
common - общие
console - консоль
frontend - внешние
Вот можете рассказать на примере какого-нибудь сложного приложения рассказать что куда помещать?
Например у меня такое приложение.
Есть модуль в котором: 3 контроллера, несколько моделей и много вьюшек.
1. добавляются админом записи о Торговых комплексах.
2. Далее пользователи смогут добавлять свои магазины.
3. Пользователи могут добавлять статьи к своим магазинам и товары, да и вообщем любые события.
У меня получилось так что этот модуль раскидан по 3 папкам если по логике этой статьи https://github.com/yiisoft/yii2/blob/ma ... ced-app.md
Как это правильно раскладывается?
Начинаю изучать Yii2 после нескольких платных курсов по php. Начал создавать своё приложение, и пака не зашёл далеко хотелось бы не наделать ошибок позади.
Скажите какие есть общие правила хорошего тона, или просто удобное строение хорошего приложения. По расположению модулей, моделей, контроллеров и вьюшек.
Вот у нас следующая структура.
backend - базовые
common - общие
console - консоль
frontend - внешние
Вот можете рассказать на примере какого-нибудь сложного приложения рассказать что куда помещать?
Например у меня такое приложение.
Есть модуль в котором: 3 контроллера, несколько моделей и много вьюшек.
1. добавляются админом записи о Торговых комплексах.
2. Далее пользователи смогут добавлять свои магазины.
3. Пользователи могут добавлять статьи к своим магазинам и товары, да и вообщем любые события.
У меня получилось так что этот модуль раскидан по 3 папкам если по логике этой статьи https://github.com/yiisoft/yii2/blob/ma ... ced-app.md
Как это правильно раскладывается?
- taurus2790
- Сообщения: 52
- Зарегистрирован: 2015.01.29, 20:12
Re: Гласные и негласные правила написания приложений
И кстати, в именах тоже кто как делает, чтобы патом не путаться что к какому контроллеру относится
Re: Гласные и негласные правила написания приложений
Я не думаю, что есть стандарты. Скорее есть глупости, которые нельзя делать, но в остальном все зависит от проекта. Например общие модели кидают в common/models, а модели которые планируются только для админки в backend/models и в данном случае ошибкой будет создать две модели в frontend и backend если они не различаются, в то же время если логика различна, это оправдано и лепить общий велосипед в common не стоит.
Мой видео блог посвященный yii "Yii2 для Блондинок и Чайников: уроки, заметки, гайды"
- taurus2790
- Сообщения: 52
- Зарегистрирован: 2015.01.29, 20:12
Re: Гласные и негласные правила написания приложений
Может конечно стоит создать отдельную тему, но всё-таки, смотрите у меня структура урл такой http://сайт/site/view?id=5
можно сделать как то так http://сайт/name убрать контроллер и просто не по ид а просто имя материала
можно сделать как то так http://сайт/name убрать контроллер и просто не по ид а просто имя материала
Re: Гласные и негласные правила написания приложений
Для этого есть urlmanager, который сделает то что Вам надо не зависимо от структуры
http://www.yiiframework.com/doc-2.0/yii ... nager.html
http://www.yiiframework.com/doc-2.0/yii ... nager.html
Мой видео блог посвященный yii "Yii2 для Блондинок и Чайников: уроки, заметки, гайды"
Re: Гласные и негласные правила написания приложений
мне кажется это не правильно.taurus2790 писал(а):Может конечно стоит создать отдельную тему, но всё-таки, смотрите у меня структура урл такой http://сайт/site/view?id=5
можно сделать как то так http://сайт/name убрать контроллер и просто не по ид а просто имя материала
Re: Гласные и негласные правила написания приложений
Почему?Alex@ писал(а):мне кажется это не правильно.taurus2790 писал(а):Может конечно стоит создать отдельную тему, но всё-таки, смотрите у меня структура урл такой http://сайт/site/view?id=5
можно сделать как то так http://сайт/name убрать контроллер и просто не по ид а просто имя материала
Мой видео блог посвященный yii "Yii2 для Блондинок и Чайников: уроки, заметки, гайды"
Re: Гласные и негласные правила написания приложений
Логика отсутствует.
Re: Гласные и негласные правила написания приложений
Где? В Ваших фразах? Я не хочу Вас обидеть, но Вы сделали 2 поста без единого объяснения своих слов. Напоминает автоботы, которые лазаят по форумам и постят "очень хорошая статья", "автор жги еще" и т.д.Alex@ писал(а):Логика отсутствует.
Вы считаете, что так нельзя. Если Вы пришли к такому выводу, у Вас должны быть аргументы. Исходя из чего Вы решили что так нельзя? Исходя из чего Вы решили, что нет логики?
Может Вы и правы, но нам всем интересно узнать не Ваше мнение, а информацию, на базе которой Вы пришли к этим умозаключениям.
Если этой информации нет - для такого есть проект "mail.ru вопросы"
Мой видео блог посвященный yii "Yii2 для Блондинок и Чайников: уроки, заметки, гайды"
Re: Гласные и негласные правила написания приложений
обычный ЧПУ. Если в базе хранить то потребуется свое url rule
Re: Гласные и негласные правила написания приложений
taurus2790 писал(а):Может конечно стоит создать отдельную тему, но всё-таки, смотрите у меня структура урл такой http://сайт/site/view?id=5
можно сделать как то так http://сайт/name убрать контроллер и просто не по ид а просто имя материала
Код: Выделить всё
'<alias:\w+>' => 'site/view',
Код: Выделить всё
public function actionView($alias){
//
}
- taurus2790
- Сообщения: 52
- Зарегистрирован: 2015.01.29, 20:12
Re: Гласные и негласные правила написания приложений
Оке спасибо сейчас буду пробовать просто у меня эти 2 вопроса возникли потому что приложение которое задуманно очень многосоставно одно в одном и как сделать так что было всё логично думаю сейчас, изнаально разделитьвсё на контроллеры или в 1 всё запутить и попытаться както урлами сделать.
Re: Гласные и негласные правила написания приложений
В один конроллер лучше не запихивать всё приложение, а разделить приложение на логические составные части, так в будущем будет проще работать с приложением.
а по поводу урлов, если свои хотите, то придётся делать вот так:
а по поводу урлов, если свои хотите, то придётся делать вот так:
maleks писал(а):обычный ЧПУ. Если в базе хранить то потребуется свое url rule
Re: Гласные и негласные правила написания приложений
Тут совет один, писать так как умеете, сразу хорошо не получится.
Надо сначала наговнокодить очень много, потом придет понимание тех вещей, о которых вы сейчас даже может быть и не задумываетесь.
Делов-то, перепишите заново.
Любой программист, ежедневно что-то пишуший, если заглянет в свой код, годичной давности, захочет его подправить или переписать.
Надо сначала наговнокодить очень много, потом придет понимание тех вещей, о которых вы сейчас даже может быть и не задумываетесь.
Делов-то, перепишите заново.
Любой программист, ежедневно что-то пишуший, если заглянет в свой код, годичной давности, захочет его подправить или переписать.
Re: Гласные и негласные правила написания приложений
ShNURoK +100!
Очень сложно не поддаваться перфекционизму, но как попой не верти, когда вот уже почти закончил, часто возникает желание все переделать, и именно по той причине, что стало больше понимания и опыта. Так что нада просто смириться с тем, что все придется переписывать
К тому же Yii - это фреймворк, и уже сейчас есть множество подходов к использованию(судя по виджетам, модулям и даже цмс). И вполне нормально, если у вас в итоге сложиться свой.
По стилю если еще не видели:
https://github.com/yiisoft/yii2/blob/ma ... e-style.md
https://github.com/yiisoft/yii2/blob/ma ... e-style.md
Но вот я, например, вьюхи такие не люблю Пишу с минимумом открываний/закрываний <?php. Можно весь хтмл заворачивать в хелперы их Html:: класса. Кому как нравится.
Еще, я бы рекомендовал вообще пока не париться про backend/frontend а сделать хоть что-то на basic-app. Это позволит не отвлекаться на структуры директорий вообще. Особенно, если вы только что с платных курсов ПХП - тут общих вещей(не про Yii) еще нарыть придется наверное не мало... руку набить.
Удачи!
Очень сложно не поддаваться перфекционизму, но как попой не верти, когда вот уже почти закончил, часто возникает желание все переделать, и именно по той причине, что стало больше понимания и опыта. Так что нада просто смириться с тем, что все придется переписывать
К тому же Yii - это фреймворк, и уже сейчас есть множество подходов к использованию(судя по виджетам, модулям и даже цмс). И вполне нормально, если у вас в итоге сложиться свой.
По стилю если еще не видели:
https://github.com/yiisoft/yii2/blob/ma ... e-style.md
https://github.com/yiisoft/yii2/blob/ma ... e-style.md
Но вот я, например, вьюхи такие не люблю Пишу с минимумом открываний/закрываний <?php. Можно весь хтмл заворачивать в хелперы их Html:: класса. Кому как нравится.
Еще, я бы рекомендовал вообще пока не париться про backend/frontend а сделать хоть что-то на basic-app. Это позволит не отвлекаться на структуры директорий вообще. Особенно, если вы только что с платных курсов ПХП - тут общих вещей(не про Yii) еще нарыть придется наверное не мало... руку набить.
Удачи!
// Yii2Rulez!
Re: Гласные и негласные правила написания приложений
Почему лучше? все от задачи зависит - если небольшое приложение с несколькими действиями, то очень даже можно все в одном котроллере сделать.Alex@ писал(а):В один конроллер лучше не запихивать всё приложение, а разделить приложение на логические составные части, так в будущем будет проще работать с приложением.
а по поводу урлов, если свои хотите, то придётся делать вот так:maleks писал(а):обычный ЧПУ. Если в базе хранить то потребуется свое url rule
Да и не в контроллере вопрос, а в красивом и правильном url - даже если контроллеров несколько, то можно сделать маппировку для всех необходимых [Controller/Action] с нужными чпу-буковками и будет, то что нужно было - site.ru/name site.ru/vargan site.ru/stories и т.д.
http://guide.yii2.org-info.by/ - руководство Yii2 по-русски, со сквозным сопоставлением ссылок на рус. и англ. темы.Русский поиск.Работает на телефонах.Обновляется.Предложени по доработке viewtopic.php?f=19&t=21391
Re: Гласные и негласные правила написания приложений
Код разбивать по контроллерам надо используя обычную логику. Например, чтобы один контроллер включал схожие по структуре/контенту разделы. Не стоит делать жирные контроллеры как минимум из тех соображений, чтобы их в дальнейшем легко было разобрать и понять, вам, или тому, кто будет читать код после вас.
А красивые урлы можно аккуратно настроить при помощи mod_rewrite + правила в urlManager.
Например:
Много открываний/закрываний <?php в видах часто делается из соображения того, что между вставками пхп-кода будут участки верстки, которые могут обслуживаться людьми не сильно знакомыми с PHP.
А красивые урлы можно аккуратно настроить при помощи mod_rewrite + правила в urlManager.
Например:
Код: Выделить всё
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false
'rules' => [
'contact'=>'site/contact',
'infrastructure'=>'site/infrastructure',
'about'=>'site/about',
'articles'=>'article/index'
],
],
Re: Гласные и негласные правила написания приложений
Кстати, чем обусловлено такое правило?
Взято отсюда: https://github.com/yiisoft/yii2/blob/ma ... e-style.mdCode MUST use 4 spaces for indenting, not tabs.
Re: Гласные и негласные правила написания приложений
psr-1,2New_Wind писал(а):Кстати, чем обусловлено такое правило?Взято отсюда: https://github.com/yiisoft/yii2/blob/ma ... e-style.mdCode MUST use 4 spaces for indenting, not tabs.
Re: Гласные и негласные правила написания приложений
Обосновано тем, что величина табов в разных редакторах разная, а величина пробелов одинаковая
Проект на Yii2 о Yii2. Блог, примеры кода, и многое другое о Yii Framework 2 и не только