rmrevin/yii2-application

由 rmrevin 编辑的 Yii 2 高级应用程序模板

dev-master 2015-05-15 20:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:31:53 UTC


README

创建新应用程序

如果您尚未安装 Composer,则必须按照 getcomposer.org 的官方说明进行安装。

通过执行以下命令创建新项目:

php composer.phar create-project --prefer-dist --stability=dev rmrevin/yii2-application my-new-application

环境准备

为了处理 bower 包,系统需要全局安装包 fxp/composer-asset-plugin。这可以通过以下命令完成:

php composer.phar global require "fxp/composer-asset-plugin:1.0.0"

用于半自动部署的是 phing。安装 phing 很简单。需要执行以下命令:

pear channel-discover pear.phing.info
pear install --alldeps phing/phing

部署

文档根目录 -

  • Web - ~/frontend-app/web
  1. 通过 git 克隆项目
  2. 将文件 .environment.example.php 复制到 .environment.php,填写必要的数据。MYSQL - 主数据库,MYSQL_TEST - 用于自动测试的数据库副本。
  3. 通过 composer 安装依赖项 ./composer.phar install(如果没有 composer,通过 ./getcomposer 安装)
  4. 使用命令 ./init 选择所需的环境
  5. 部署迁移 ./frontend migrate
  6. 通过 npm 安装前端依赖项 npm install
  7. 使用命令 phing less 将 less 编译为 css
  8. 创建管理员用户 ./frontend user/add,程序将要求您输入名称、电子邮件和密码

系统已准备好使用。

更新

  1. 通过 git 更新代码库
  2. 更新 composer ./composer.phar selfupdate
  3. 通过 composer 更新依赖项 ./composer.phar update
  4. 部署新的迁移 ./frontend migrate
  5. 通过 npm 更新前端依赖项 npm update
  6. 使用命令 phing less 将 less 编译为 css

系统已准备好使用。

半自动部署和更新

首先需要使用命令 git pull 从 git 下载更新,然后执行以下命令之一:

  • phing build/production - 收集用于生产的项目。
  • phing build/demo - 收集用于 demo 站点的项目。
  • phing build/dev - 收集用于 dev 站点的项目。

此外,还提供了以下命令(它们在 build/* 命令的范围内执行,并仅作为参考添加):

  • phing clear - 删除所有应用程序中的所有临时文件和日志。
  • phing clear/frontend - 删除前端应用程序中的所有临时文件和日志。
  • phing migrate - 执行所有应用程序的所有新迁移。
  • phing migrate/frontend - 执行前端应用程序的所有新迁移。

主要要点

框架以 yii2-advance-application 为基础。它允许创建由不同应用程序组成的复杂系统,这些应用程序采用不同的方法(普通 web 应用程序、cli 应用程序、rest 应用程序)。目前,在项目中已创建以下应用程序:

  • frontend-app - 主要 web 应用程序。

此外,还有一些辅助部分

  • common - 所有应用程序共有的资源(配置、扩展框架组件、助手)
  • frontend-modules - 在此处存储 web 应用程序的模块。这正是从 web 调用的模块。理想情况下,这里应该只包含扩展组件、控制器、表单模型和视图。

为了运行测试

为了运行 codeception 测试,需要复制测试配置并为其自己的平台进行设置。

自动地,这可以通过phing完成。从项目根目录运行phing build/codecept命令,配置文件将自动复制。

对于手动复制,需要在erp-app/testshub-app/tests目录中,将acceptance.suite.yml.dist文件复制到acceptance.suite.yml,将functional.suite.yml.dist文件复制到functional.suite.yml,将unit.suite.yml.dist文件复制到unit.suite.yml

文件复制完成后,需要对其进行配置。在acceptance.suite.yml中,需要根据您的平台设置修改PhpBrowser/urlREST/url参数。

其余文件可以保持不变。

创建配置文件后,需要“收集”用于测试的“演员”。为了做到这一点,从项目根目录执行以下命令

./codecept build -c web-app/tests/codeception.yml

现在可以直接启动测试。

为此,从项目根目录执行以下命令

# запустить выполнение всех тестов во всех приложениях
./codecept run

# запустить выполнение только тестов для erp приложения
./codecept run -c web-app/tests/codeception.yml

# запустить выполнение только unit тестов для hub приложения
./codecept run -c web-app/tests/codeception.yml unit

# запустить выполнение определённого unit теста для hub приложения
./codecept run -c web-app/tests/codeception.yml unit commands/UserCommandTest.php

要生成代码覆盖率图,在调用命令时添加参数--coverage-html。要获取测试执行过程中的详细信息,在调用命令时添加参数--debug。

./codecept run --coverage-html
./codecept run -c web-app/tests/codeception.yml --coverage-html --debug