Рубрики
Uncategorized

Многомодульный модуль Yii с несколькими приложениями

Автор оригинала: 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/”