yarcode / yii2-app-yarcode
Yii 2 YarCode 项目模板
Requires
- php: >=5.6.0
- dmstr/yii2-adminlte-asset: 2.*
- friendsofphp/php-cs-fixer: ^2.4
- kartik-v/yii2-widget-alert: ^1.1
- kartik-v/yii2-widget-growl: ^1.1
- vlucas/phpdotenv: ^2.4
- yarcode/yii2-fa: ^1.0
- yarcode/yii2-tools-yarcode: ^1
- yiisoft/yii2: ~2.0.12
- yiisoft/yii2-bootstrap: ~2.0.0
- yiisoft/yii2-swiftmailer: ~2.0.0
Requires (Dev)
- codeception/base: ^2.2.3
- codeception/verify: ~0.3.1
- yiisoft/yii2-debug: ~2.0.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.0.0
This package is not auto-updated.
Last update: 2024-09-14 20:03:57 UTC
README
Yii 2 YarCode 项目 - 是一个 Yii 2 应用的骨架。
与yii2-app-advanced的差异
与 yii2-app-advanced 相比,这个模板自带以下功能:
- 支持 .env 文件
- API 应用
- 包含 yii2-tools-yarcode
- 一套 Docker 容器
- 与 Travis CI 集成
- 预安装 AdminLTE 主题用于后端应用
要求
本项目模板对 Web 服务器的最低要求是支持 PHP 7+。
安装
安装 composer。
然后可以使用以下命令安装此项目模板
composer create-project --prefer-dist yarcode/yii2-app-yarcode yarcode
сd yarcode
php init
复制 .env 文件
cp .env.example .env
配置 .env
并应用迁移。确保数据库连接配置正确。
php yii migrate
模板安装现在已完成。
质量控制
Travis CI
要自动在模板中构建和测试应用,请使用 Travis CI。配置位于项目根目录下的 .travis.yml
文件中。
在配置文件中添加了 PHP Coding Standards Fixer。
PHP Coding Standards Fixer
此工具允许我们自动检查项目代码是否符合标准和规则。
配置位于项目根目录下的 .php_cs
文件中。
执行命令以验证代码是否符合 PSR-2 标准
vendor/bin/php-cs-fixer fix -v --dry-run
虚拟化
此模板支持 Docker 技术
基本用法
构建容器
docker-compose build
创建卷
docker volume create --name=yiidock_postgres_data
初始化并应用迁移
cp docker-compose.override-example.yml docker-compose.override.yml
docker-compose run --rm workspace composer install
docker-compose run --rm workspace php init
docker-compose run --rm yii migrate
启动容器
docker-compose up -d
现在应用必须正常运行
- 前端应用: http://localhost:8001
- 后端应用: http://localhost:8002
- API 应用: http://localhost:8003
您也可以单独启动服务。例如,仅启动后端
docker-compose up -d nginx-backend
测试环境
测试位于 {application}/tests
测试目录中。它们使用 Codeception PHP 测试框架 开发。默认情况下,每个应用(api
、frontend
、backend
)都有 2 个测试套件
- 单元测试
- 功能测试
有关测试 Yii2 应用的更多信息,请参阅 此处
要在容器中运行测试,可以使用 docker-compose.test.yml
文件。按照以下三个简单步骤进行
- 创建测试卷:
docker volume create --name=test_postgres_data
- 应用测试数据库的迁移:
docker-compose -f docker-compose.test.yml run --rm yii_test migrate
- 运行模板中所有的测试:
docker-compose -f docker-compose.test.yml run --rm codeception run
可以单独运行应用的单元测试或功能测试,例如
docker-compose -f docker-compose.test.yml run --rm codeception run unit -c backend
docker-compose -f docker-compose.test.yml run --rm codeception run functional -c api
也可以通过指定测试路径来运行某个特定测试
docker-compose -f docker-compose.test.yml run --rm codeception run functional -c api v1/ApiCest
调试时,使用标志 -f
和 --debug
运行测试可能会很方便
docker-compose -f docker-compose.test.yml run --rm codeception run functional -c api v1/ApiCest -f --debug
模板结构
根目录包含以下子目录和文件
api web application implements simple REST API
component/ contains components api
config/ contains api configurations
models/ contains api-specific model classes
runtime/ contains files generated during runtime
tests/ contains tests for frontend application
web/ contains the entry script
codeception.yaml configuration file for Codeception
backend backend web application
assets/ contains application assets such as JavaScript and CSS
config/ contains backend configurations
controllers/ contains Web controller classes
models/ contains backend-specific model classes
runtime/ contains files generated during runtime
tests/ contains tests for backend application
views/ contains view files for the Web application
web/ contains the entry script and Web resources
codeception.yaml configuration file for Codeception
common files shared for the whole application
component/ contains shared components
config/ contains shared configurations
fixtures/ contains fixtures
mail/ contains view files for e-mails
models/ contains model classes used in both backend and frontend
tests/ contains tests for common classes
console console application
config/ contains console configurations
controllers/ contains console controllers (commands)
migrations/ contains database migrations
models/ contains console-specific model classes
runtime/ contains files generated during runtime
environments/ contains environment-based overrides
frontend frontend web application
assets/ contains application assets such as JavaScript and CSS
config/ contains frontend configurations
controllers/ contains Web controller classes
models/ contains frontend-specific model classes
runtime/ contains files generated during runtime
tests/ contains tests for frontend application
views/ contains view files for the Web application
web/ contains the entry script and Web resources
widgets/ contains frontend widgets
codeception.yaml configuration file for Codeception
tools/ contains helper for IDE
vendor/ contains dependent 3rd-party packages
.env.example dotenv file example
.env.travis dotenv file for Tavis CI
.gitignore contains a list of directories ignored by git version system.
.php_cs configuration file for PHP Coding Standards Fixer
.travis.yaml configuration file for Travis CI
codeception.yaml cnfiguration file for Codeception
composer.json composer config described in Configuring Composer.
init initialization script described in Configuration and environments.
init.bat same for Windows.
LICENSE.md license info. Put your project license there.
README.md basic info about installing template (EN).
README-RU.md basic info about installing template (RU).
requirements.php Yii requirements checker.
yii console application bootstrap.
yii.bat same for Windows.