Помогите написать первую тестовую CMS

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
rafic
Сообщения: 57
Зарегистрирован: 2013.04.26, 13:19

Помогите написать первую тестовую CMS

Сообщение rafic » 2013.04.29, 20:37

Все привет!
Пару дней назад я решил начать работать на CMS и писать какой-то велосипед для тренировки. Темой велосипеда был выбрал интерне-магазин продуктов здорового питания.
Первое что я сделал это подумал, что в интернет магазине должно быть разделение прав пользователей и управление ими. Мне посоветовали yii-user + rights = то, что мне нужно. Покурив мануалы и посидев пару дней я засунул этих двух зайцев в одну клетку и тут у меня пошли вопросы. Эти вопросы я постараюсь задавать в этой теме, дабы не сорить в ветке.

Вопрос 1: Магазин состоит из фронтенда и бекенда. Как организовывать для них авторизацию? У модуля user уже есть авторизация, но для админки и для морды должны быть разные авторизации с разными представлениями. Как их разделить?
Вопрос 2: Насколько глупо разделять фронтенд и бекенд как два разных приложения. Чем чреваты такие действия?
Ищу разработчика или команду разработчиков для поддержки проекта.
Детальнее узнай по ссылке https://goo.gl/YU8uTS.

Аватара пользователя
S c
Сообщения: 875
Зарегистрирован: 2012.04.11, 14:46

Re: Помогите написать первую тестовую CMS

Сообщение S c » 2013.04.29, 21:21

Смотря какая у вас архитектура. Можно использовать https://github.com/clevertech/YiiBoilerplate - тогда ваша задача будет автоматом решена (там и так все это разделено).
Но с ним есть проблемы касательно вашего 2го вопроса. Начинаются трудности, если на фронт нужно будет запихивать функционал бэкэнда (например админские действия типа удалить товар).

rafic
Сообщения: 57
Зарегистрирован: 2013.04.26, 13:19

Re: Помогите написать первую тестовую CMS

Сообщение rafic » 2013.04.29, 22:05

Выходит что разделение влечет за собой массу трудностей и гемора. Если разделять полностью бекенд и фронтенд тогда нужно писать API админ части, чтобы потом юзать его на фронте.
Разделять не будем.

YiiBoilerplate - как я понял из описания на сайте это уже готовая структура (скелет) проекта с фронтендом и бекендом.
К этому скелету так же прикручиваются модули rights и yii-user? И к чему их прикручивать: фронтенду или бекенду?
Ищу разработчика или команду разработчиков для поддержки проекта.
Детальнее узнай по ссылке https://goo.gl/YU8uTS.

Аватара пользователя
S c
Сообщения: 875
Зарегистрирован: 2012.04.11, 14:46

Re: Помогите написать первую тестовую CMS

Сообщение S c » 2013.04.29, 23:05

там есть папка common, где хранятся общие модули, расширения, модели и тд. Т.е. для фронта и бэкенда можно использовать общие модели и функции, что очень удобно.
Для прав так же можно взять srbac, если есть возможность его освоить - очень мощный инструмент.

Аватара пользователя
yiijeka
Сообщения: 3084
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Помогите написать первую тестовую CMS

Сообщение yiijeka » 2013.04.30, 08:12

Разделяйте свой cms, только в том случае если у вас есть опыт - пока, вы себе создадите только массу проблем, они будут связаны не с трудностями связанными с разделением - "сделать кнопку удалить товар", а с непониманием как и что применять для решение той или иной проблемы. Посмотрите yupe посмотрите созданный уже магазин. Наберитесь опыта и вот когда вы уже сами сможете написать с нуля своё rights+users и поймёте, что тот что вы используете не функционален и требует исправления кучи вещей, вот тогда и стоит думать про написания cms с backend и frontend частями ;)

rafic
Сообщения: 57
Зарегистрирован: 2013.04.26, 13:19

Re: Помогите написать первую тестовую CMS

Сообщение rafic » 2013.04.30, 10:42

Хорошо, что есть вещи на которых можно учиться.
EximusCommerce я уже качал, даже общался с автором. Он рассказал как осваивал Yii. Но пока то, увы, масса непонятных вещей.
А про Юпи я не слышал. Обязательно скачаю и посмотрю.

Может кто-то расскажет как учился сам и поделится опытом?
Какие читались книги, курсы, видео-уроки?
Ищу разработчика или команду разработчиков для поддержки проекта.
Детальнее узнай по ссылке https://goo.gl/YU8uTS.

Аватара пользователя
ElisDN
Сообщения: 5459
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Помогите написать первую тестовую CMS

Сообщение ElisDN » 2013.04.30, 14:09

rafic писал(а):Может кто-то расскажет как учился сам и поделится опытом?
Прочитал руководство, создание блога и рецепты прямо здесь, статьи в блогах некоторых программистов.

Изначально не сразу изучил маршрутизацию, ActiveRecord, виджеты zii, фильтры... Про MVC имел некое представление по документации CodeIgniter. Начал переписывать свою вторую самописную систему на Yii. По привычке вручную копипастил туда все

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

<table><tr><td><?php echo $model->id; ?></td>...</tr>...</table>

вместо CGridView. Так сделал несколько примитивных сайтов, постепенно улучшая код новой системы. Объём кода всё рос и рос.

Вначале просто делаешь всё по инструкции, и ко второму-третьему сайту уже волей-неволей начинаешь понимать как это работает. Ну и параллельно читаешь что-то ещё. И необязательно книги должны быть по PHP.

«PHP 5» Гутманса кроме конструкций самого языка научит работать с сервисами, парсить XML, использовать PDO. В книге «Путь Rails» нашёл хорошее описание маршрутизации. В «Философия Java» подробно изложены принципы ООП, а также много полезного материала об использовании замыканий, итераторов, коллекций и т.п.. В «ActionScript 3.0» Колина Мука хорошо рассказано, например, об обработке исключений, событиях. Книги «Чистый код» Роберта Мартина и «Совершенный код» Макконела избавили от плохого кода и научили рефакторить. Пара книг по MySQL и теории баз данных поможет разобраться с нормализацией, связями, оптимизацией, ленивой и жадной загрузкой. В «Паттерны проектирования» Фрименов много классных примеров удачного рефакторинга, что облегчило восприятие книги «Паттерны ОО проектирования» банды четырёх, прочитанной до и после неё. Нашёл несколько Yii проектов на GitHub и поковырялся в их коде.

Всё новое тут же применял в своей системе, переписывая по чуть-чуть день за днём. По ходу перечитывал руководства и блоги, освоил Zii, стал использовать темы, разбил систему на модули, рефакторил, разносил всё по компонентам. Иногда перекрывал некоторые методы и дополнял функционал чужих расширений. Теперь уже объём кода стал не расти как раньше, а стремительно уменьшаться.

Большой вклад в освоение фреймворка внесло использование хорошей IDE (использую PHPStorm вместо редактора Notepad++). Щелчок по имени класса, стрелочке наследования или по вызову метода тут же открывает нужный исходник. Можно мгновенно подсмотреть исходный код метода, диаграмму классов, список публичных полей класса или прочитать PHPDoc блок.

Такое хобби многолетнего совершенствования своей системы приносит много пользы. Теперь некоторыми своими мыслями и наработками делюсь в своём блоге.

Аватара пользователя
yiijeka
Сообщения: 3084
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Помогите написать первую тестовую CMS

Сообщение yiijeka » 2013.04.30, 21:03

аАххаа, ElisDN всё в точности как и у меня. Только блог лень вести.

Gleb_A
Сообщения: 120
Зарегистрирован: 2012.02.26, 18:29

Re: Помогите написать первую тестовую CMS

Сообщение Gleb_A » 2013.05.08, 12:20

http://habrahabr.ru/post/117457/ мне вот этот способ разделения frontend/backend нравится. С user и rights проблем нет

Ответить