Сегодня 11 февраля, вторник ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

С Yii 1.1 на Yii 2.0, часть 3: приложения

2015-01-13 06:45:37 (читать в оригинале)

В 1.1 был только один шаблон приложения, который можно было развернуть через yiic webapp после того, как вы скачаете сам фреймворк. Команда копировала шаблон приложения из директории фреймворка в указанную вами директорию.

В 2.0 шаблоны, как и всё остальное, ставятся через Composer. Ничего предварительно скачивать не нужно. Команда напоминает команду из 1.1, разве что указывается из какого пакета ставить шаблон:

composer create-project --prefer-dist yiisoft/yii2-app-basic my/dir/basic

Стандартных шаблона два: basic и advanced. Есть возможность делать свои. Например, я сделал minimal. Начать изучение фреймворка лучше с basic. Это не значит, что данный шаблон чем-то хуже advanced, просто он больше похож на 1.1:

assets — классы-конфиги asset-ов
commands — консольные команды
config — конфиги
controllers — контроллеры
mail — шаблоны для писем
models — модели
runtime — логи и другие временные данные
tests — тесты
vendor — зависимости, вытягиваются Composer-ом
views — шаблоны для веб
web — вебрут
    assets — уже опубликованные asset-ы
    index.php — входной файл
./yii — входной файл для консольного приложения, аналог yiic из 1.1

Присутствуют директории, которых в 1.1 не было: assets, mail, vendor. Assets хранит классы, описывающие подключение CSS и JavaScript для веб-приложения. В mail хранятся шаблоны для писем, vendor заполняется Composer-ом и лезть туда руками не стоит.

Некоторые директории из 1.1 отсутствуют. Стоит отметить components, extensions, messages и migrations. Директория extensions более не нужна. Расширения ставятся через Composer и автоматически попадают в vendor. messages и migrations автоматически создаются по мере необходимости. В components нет нужды. В 2.0 можно раскладывать классы в любые директории. Они будут загружаться автоматически, если их namespace соответствует. Если вам без components не уютно, можно создать.

Ещё одним важным отличием от 1.1 является то, что index.php располагается не в корне приложения, а в директории web. То есть в качестве webroot надо указывать именно директорию web. Весь код при этом не будет видно через веб, что более безопасно. В 1.1 приходилось делать подобную структуру вручную каждый раз.

Реструктуризация создаёт некоторые проблемы на shared-хостинге. Если вам можно загружать файлы выше webroot, достаточно переименовать web в название webroot на вашем сервере. Если загружать выше webroot нельзя (что не очень часто), придётся переложить index.php на уровень выше и поправить в нём пути. То есть фактически привести всё к 1.1.

Advanced отличается тем, что разделяет код на несколько приложений, каждое со своим входным файлом в расчёте на несколько доменов. Окружения реализованы через локальные конфиги. Также в нём имеется готовая регистрация и восстановление пароля и готовая модель User, привязанная к базе данных. Всё это описано в руководстве. В остальном шаблоны схожи.

← С Yii 1.1 на Yii 2.0, часть 2: Composer




 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.