rmrevin/ yii2-application
由 rmrevin 编辑的 Yii 2 高级应用程序模板
Requires
- php: >=5.5.0
- rmrevin/yii2-comments: ~1.1
- rmrevin/yii2-fontawesome: ~2.10
- rmrevin/yii2-minify-view: ~1.7
- rmrevin/yii2-postman: ~2.2
- rmrevin/yii2-rbac-command: ~1.1
- rmrevin/yii2-socicon: ~1.0
- rmrevin/yii2-xxtea: ~1.2
- yiisoft/yii2: ~2.0
- yiisoft/yii2-authclient: ~2.0
- yiisoft/yii2-bootstrap: ~2.0
- yiisoft/yii2-composer: ~2.0
- yiisoft/yii2-imagine: ~2.0
- yiisoft/yii2-swiftmailer: ~2.0
Requires (Dev)
- codeception/codeception: ~2.0
- codeception/phpbuiltinserver: ~1.1
- codeception/specify: ~0.3
- codeception/verify: ~0.2
- yiisoft/yii2-codeception: ~2.0
- yiisoft/yii2-debug: ~2.0
- yiisoft/yii2-faker: ~2.0
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
- 通过 git 克隆项目
- 将文件
.environment.example.php
复制到.environment.php
,填写必要的数据。MYSQL - 主数据库,MYSQL_TEST - 用于自动测试的数据库副本。 - 通过 composer 安装依赖项
./composer.phar install
(如果没有 composer,通过./getcomposer
安装) - 使用命令
./init
选择所需的环境 - 部署迁移
./frontend migrate
- 通过 npm 安装前端依赖项
npm install
- 使用命令
phing less
将 less 编译为 css - 创建管理员用户
./frontend user/add
,程序将要求您输入名称、电子邮件和密码
系统已准备好使用。
更新
- 通过 git 更新代码库
- 更新 composer
./composer.phar selfupdate
- 通过 composer 更新依赖项
./composer.phar update
- 部署新的迁移
./frontend migrate
- 通过 npm 更新前端依赖项
npm update
- 使用命令
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/tests
和hub-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/url
和REST/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