Автор оригинала: David Wong.
В этой статье в качестве примера взят YII 2.0.7.
Резюме
Во-первых, посмотрите на характеристики мультиприложений и мультимодулей:
Функции нескольких приложений:
- Независимый Профиль
- Независимое доменное имя
Многомодульные функции:
- Единый Профиль
- Единое доменное имя
Итак, как вы на самом деле решаете, использовать ли несколько приложений или несколько модулей?
- Например, для разделения интерфейсной и серверной части для фона требуется отдельное доменное имя, для управления которым должно быть несколько- приложение
- Конфигурация мультиприложения совершенно иная. Удобно использовать несколько приложений, и файлы конфигурации разные.
- Для нескольких приложений требуется больше конфигураций доменных имен, цена хлопотная, для небольших проектов не нужно различать доменные имена, лучше использовать многомодульные.
Многофункциональное приложение
Самый простой способ-загрузить шаблон расширенного приложения Yii2: yii -advanced-app-2.0.12.tgz. После загрузки и распаковки введите дополнительно Каталог, запустите:
# Windows init.bat # Linux init
Будет в интерфейсе и серверная часть Два приложения веб Файл записи для создания каталога индекс. php 。 внешний интерфейс и серверная часть Представляет приложения переднего плана и фоновые приложения соответственно. Структура каталогов внутри такая же:
assets/ config/ controllers/ models/ runtime/ views/ web/
Функция:
$ cd advanced/frontend/web $ php -S 0.0.0.0:8888 PHP 5.6.22 Development Server started at Sun Aug 20 21:10:28 2017 Listening on http://0.0.0.0:8888
Откройте браузер и введите http://0.0.0.0:8888 чтобы получить доступ к домашней странице по умолчанию.
Рекомендуется поместить модель в корневой каталог. общие/модели Li.
Многомодульный
На несколько модулей можно ссылаться по адресу http://www.yiichina.com/doc/g…. Пример: в интерфейсе Создайте новый здесь h5 Приложение:
1. Создание соответствующих каталогов
$ cd frontend $ mkdir -p modules/h5 && cd modules/h5 $ mkdir controllers $ touch Module.php
2, Module.php Примеры контента:
params['foo'] = 'bar';
//... Other initialization codes...
}
}3. frontend/config/main.php Объявления для дополнительных модулей:
'modules' => [
'h5' => [
'class' => 'frontend\modules\h5\Module',
//... Module other configurations...
],
],4. модули/h5/контроллеры Новый класс контроллеров:
render('index');
}
}Доступ к браузеру: http://localhost:8888/index.php?r=h5/site/index Это доступно.
Существует также способ реализации форм доступа, аналогичных этой маршрутизации URL, таких как r=тест/сайт/индекс 。 Нужны только интерфейс/контроллеры Новый подкаталог с именем test Поместите контроллер внутрь и измените пространство имен на
namespace frontend\controllers\test;
Все в порядке. Это может быть использовано для управления версиями API, например:
r=v1/site/index r=v2/site/index
Первоначально в: http://www.cnblogs.com/52fhy/…
Добро пожаловать, чтобы обратить внимание на общедоступный номер, чтобы получать последние статьи и своевременно публиковать их!
Оригинал: “https://developpaper.com/yii-multi-application-multi-module/”