Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Хочу постигать Yii, но есть вопросы…

Anna | 31.05.2014 | нет комментариев

Я теснее дюже длинное время пишу на php. Сделал кучу сайтов, магазинов и т.д. Своя админка. Но в целом как это все было быдлокодерством, так и осталось. Т.е. невзирая на то, что сделал много, проф программистом себя не считаю. Неизменно работал один, НЕ в компании себе сходственных, следственно учиться было не у кого. Теперь огромнее не хочу делать сайты на своем собственном движке, которые дорабатывался все эти годы и тот, что в тезисе исполняет свои функции. Не хочу по той причине, что как ни верти, но он прост и «ужасен» внутри. Хочу выйти на новейший ярус, начать писать типичный код. Ну либо правда бы пытаться.

Стоял перед выбором: переписать свой движок, взять готовую CMS и разбираться с ней, либо исследовать какой-нибудь фреймворк. Позже длинного чтения форумов, програ и т.д., пришел к итогу что необходимо рассматривать 3-й вариант. Также позже длинных невыносимых выборов остановился на Yii.

Т.к. я никогда не работал с фреймворками, то я никак не могу в голове уложить и Отчетливо представить себе что такое «framework». Прежде я думал, что это легко комплект готовых классов, тот, что теснее содержит в себе решение многих задач, которые не придется решать программисту. После этого узнал, что фрейворк – это огромнее чем легко комплект классов. Скажем, тот же Yii теснее позже установки имеет готовую архитектуру веб-приложения, базу данных и т.д. Т.е. по сути, готовый каркас, на основе которого дозволено писать свое.

Вопрос 1. «Готовый каркас» — это клиентская часть сайта (front end) либо каркас админки (back end)? Либо же первоначально каркас – это легко готовая файловая конструкция, классы, база данных и т.д., а клиентскую часть и админскую я должен писать сам, на основе этого каркаса? Я опасаюсь, что дюже неясно изъясняюсь, т.к. всю эту кашу мыслей в голове пытаюсь преобразовать в Отчетливый вопрос.
Когда я, скажем, пишу на php с нуля, я создаю клиентскую часть сайта: index.php, файлы образцов, классы, БД и т.д. И создаю админскую часть, у которой свой index, свои образцы и т.д. В Yii я тоже пишу админку с нуля (применяя классы фреймворка) либо же админская часть теснее существует и мне ее теснее необходимо допиливать до своих нужд (верстать внешний вид и навешивать свои функции)?

Вопрос 2. Я приведу примитивный и глупый пример, для того, Дабы на его основе задать вопрос. Скажем, на сайте есть разделы: «новости», «статьи», «события», «вопросы/ответы» и т.д. Я это все всеобщим словом называю «списки». Т.е. для всякого такого списка есть своя таблица в БД (скажем, «статьи»). В админской части сайта я создаю раздел, где пользователь может «добавлять/редактировать/удалять» элементы этого списка (статьи). Админская часть сайта предоставляет образец, в котором соответствующая форма, куда вводятся «наименование», «текст», «автор» и т.д. статьи (для всякого списка свой комплект колляций). Я верно понимаю, что процесс создания таких «списков», т.е. добавления новых таблиц (скажем, были на сайте новости и статьи, а я еще добавляю список (таблицу) «авторы») он максимально автоматизирован? Либо я это делаю, так как и теперь, т.е. сам создаю новую таблицу в БД (таблица «авторы»), добавляю столбцы этой таблицы (имя автора, дата рождения автора и т.д.), сам создаю новейший раздел в админской части, образцы для его редактирования, класс для работы с авторами и т.д.?

Вопрос 3. Насколько эластичен фреймворк. Задам данный вопрос на основе предыдущего. Скажем, у нас есть две таблицы «статьи» и «авторы». Всякая статья связана с каким-либо автором (через ID в БД). И клиент сайта умоляет Дабы в админке это выглядело, скажем так: Заходим в раздел «статьи» и вначале видим список авторов. Кликнули по автору, и попали на страницу со списком статей этого автора. И теснее кликнув по определенной статье, мы переходим к ее редактированию. Такая вот реализация администрирования статей. А, скажем, на ином сайте иной клиент хочет, Дабы схема была такая: Зашли в админке в раздел «статьи», увидели список всех статей. Вошли в определенную статью и на странице ее редактирования есть выпадающий список авторов (которые, безусловно, берутся из таблицы «авторы») и через данный выпадающий список мы привязываем статью к определенному автору. Т.е. я привел в пример два различных варианта реализации функционала. Делая сайт на своих кодах, я могу без задач реализовывать всякие подходы. Здесь я царь и всевышний. А как насчет Yii, могу ли я извращаться как желательно? чай, возможен, тружусь с какой-то знаменитой CMS системой, такие вещи не прокатят. CMS-ки имеют сурово данный функционал. Данный функционал, безусловно, бывает велик, но все-равно загнан в какие-то суровые рамки. И если хочется что-то кардинально изменить, то необходимо лезть в коды и переписывать.

Вопрос 4. Некоторые люди, обговаривая темы фреймворков, на том же прогре, скажем, Зачастую говорят фразы типа: «я вот испробовал план сделать на Yii, потом решил исследовать Kohana и сделал на нем, а потом еще сделал на Zend…». Хорошо, я понимаю, что есть люди, которые дюже обучаемы и они могут достаточно стремительно переходить от одного фреймворка к постижению иного и делать на нем план, но я не понимаю КАК это может быть рентабельно??? чай немного сделать сайт (клиентскую часть), теперь же в 90% случаев к сайту необходима админка. Неужто программисты, так легко, переходят от одного фреймворка к иному, так же легко пишут для него свою админку? Либо же все-таки админка теснее наработана, скажем, на одном плане (фреймворке) и легко каким-то образом программисты ее мигрируют в другие свои планы (на других фреймворках), правда я не понимаю как это может быть. На мой взор, из своих наработок дозволено перенести только представление (т.е. комплекты образцов, внешний вид), но каждый функционал необходимо снова затачивать на основе нового фреймворка. Либо я вновь чего не понимаю…

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB