thaweesap/yii2-app-pheme

Yii 2 修改版应用程序模板

安装: 12

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 3

类型:项目

dev-master 2014-06-10 09:08 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:12:12 UTC


README

Yii 2 Pheme 应用程序模板是一个适用于开发复杂多层 Web 应用程序的骨架 Yii 2 应用程序。

该模板包含三个层级:前端、后端、API 和控制台,每个都是一个单独的 Yii 应用程序。

该模板旨在在团队开发环境中使用。它支持在不同环境中部署应用程序。

目录结构

待定

要求

此应用程序模板的最小要求是您的 Web 服务器支持 PHP 5.4.0。

安装

从存档文件安装

将从 yiiframework.com 下载的存档文件解压到 Web 根目录下的名为 advanced 的目录中。

然后按照 "入门" 中提供的说明操作。

通过 Composer 安装

如果您没有 Composer,您可以通过在 getcomposer.org 上找到的说明进行安装。

然后您可以使用以下命令安装应用程序

php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-advanced advanced

入门

安装应用程序后,您必须执行以下步骤来初始化已安装的应用程序。您只需进行一次。

  1. 运行 init 命令以使用特定环境初始化应用程序。
  2. 创建一个新的数据库,并相应地调整 common/config/main-local.php 中的 components['db'] 配置。
  3. 使用控制台命令 yii migrate 应用迁移。这将创建应用程序运行所需的表。
  4. 设置 Web 服务器的文档根
  • 对于前端 /path/to/yii-application/frontend/web/,使用 URL http://frontend/
  • 对于后端 /path/to/yii-application/backend/web/,使用 URL http://backend/

要登录应用程序,您首先需要注册,可以使用任何电子邮件地址、用户名和密码。然后,您可以使用相同的电子邮件地址和密码随时登录应用程序。

测试

安装额外的 Composer 包

  • php composer.phar require --dev "codeception/codeception: 1.8.*@dev" "codeception/specify: *" "codeception/verify: *"

此应用程序模板在测试中使用数据库,因此您应该创建三个用于测试的数据库

  • yii2_advanced_unit - 单元测试数据库;
  • yii2_advanced_functional - 功能测试数据库;
  • yii2_advanced_acceptance - 接受测试数据库。

要使数据库保持最新状态,您可以在需要测试的文件夹中运行 yii migrate,例如,如果您从 frontend 测试开始,那么您应该在每个套件文件夹 acceptancefunctionalunit 中运行 yii migrate,这将根据迁移将您的数据库升级到最后状态。

为了运行验收测试,您需要一个正在运行的Web服务器。为此,您可以使用PHP内置的服务器,并在主项目文件夹所在的目录中运行它。例如,如果您的应用程序位于/www/advanced,您只需要执行以下操作:cd /www,然后php -S 127.0.0.1:8080,因为验收测试的默认配置期望应用程序的URL为/advanced/。如果您已经配置了服务器或者您的应用程序不在名为advanced的文件夹中,您可能需要调整frontend/tests/_bootstrap.phpbackend/tests/_bootstrap.php中的TEST_ENTRY_URL

完成这些操作后,您应该能够运行您的测试,例如,要运行frontend测试,请执行以下操作:

  • cd frontend
  • ../vendor/bin/codecept build
  • ../vendor/bin/codecept run

以类似的方式,您可以运行其他应用程序层(如backendconsolecommon)的测试。

您还可以调整应用程序套件配置和_bootstrap.php设置,以使用其他URL和文件,就像在yii2-basic中那样。