akiraz2 / yii2-app
Yii2 我的高级项目模板(Redis缓存,DB队列,gentelella-admin,dektrium-user,DB日志)
Requires
- php: >=7.0.0
- dektrium/yii2-user: dev-master
- himiklab/yii2-recaptcha-widget: ^1.2
- ignatenkovnikita/yii2-queuemanager: dev-master
- schmunk42/yii2-giiant: @dev
- yiisoft/yii2: ~2.0.14
- yiisoft/yii2-bootstrap: ~2.0.0
- yiisoft/yii2-jui: ^2.0
- yiisoft/yii2-queue: ^2.0
- yiisoft/yii2-redis: ^2.0
- yiisoft/yii2-swiftmailer: ~2.0.0 || ~2.1.0
- yiister/yii2-gentelella: ~1.0
Requires (Dev)
- codeception/base: ^2.2.3
- codeception/verify: ~0.3.1
- insolita/yii2-migration-generator: ~2.3
- yiisoft/yii2-debug: ~2.0.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.0.0
README
Yii2-app 是快速且现成的先进项目模板。
基于Docker开发(mysql,nginx,php-fpm)
请启用php intl扩展以获得更好的工作体验。
默认情况下,模板包括三个级别:frontend
、backend
和console
,每个都是一个独立的Yii应用。
注意:模板处于初期开发阶段。任何内容都可能随时更改。
功能
- Gentelella Admin模板是美观简洁的Bootstrap,与yii2资源兼容:yiister/yii2-gentelella,演示
- Yii2 User是强大且经过验证的用户模块,具有许多功能:dektrium/yii2-user(用户名
adminus
,密码adminus
) - 前端和后端用户控制器已筛选(通过
dektrium/yii2-user
) - 文件或数据库缓存,但我推荐Redis缓存——它真的很快
- Yii2队列(DB表
queue
),但您也可以使用 Redis-queue 或其他yii2-queue 文档 - 使用 ignatenkovnikita/yii2-queuemanager 的后端(
/queuemanager/default/index
)进行队列管理 - 后端(
/log/index
)的日志DB目标——简单地查看日志消息 - .htaccess - 美丽URL 的配置(重写index.php),可能以后还会添加nginx配置
- UrlManagerFrontend 用于后端应用(所有URL规则在文件
frontend/config/urls.php
中,hostInfo在common/config/params.php
中) common/messages
中的i18n翻译配置(当前只有英语和俄语,欢迎语言翻译!)- 前端应用中的ContactForm得到了改进:himiklab/yii2-recaptcha-widget,所有邮件都保存在数据库中(
common/models/EmailForm
模型),可选地通过机器人向Viber信使发送消息(安装要求 Bogdaan/viber-bot-php 和配置,在Model中取消注释代码) - Gii生成器
- 添加了 yii2-queue 任务生成器
- yii2迁移生成器(从现有表)Insolita/yii2-migrik
- schmunk42/yii2-giiant —— 真正的类固醇,但处于开发阶段,存在bug
可用模块
这些模块可以轻松使用Composer安装到Yii2-App中
- Yii2 Super Blog模块(语义,SEO):akiraz2/yii2-blog
- Yii2多个网络统计计数器(全部集成)(yandex,google,自己的数据库计数器):akiraz2/yii2-stat
- yii2 opengraph组件:dragonjet/yii2-opengraph
- yii2设置(数据库+缓存):yii2mod/yii2-settings
- 等等...
安装
可以使用composer安装Yii2-app模板。运行以下命令以下载和安装Yii2-app
composer create-project --prefer-dist akiraz2/yii2-app my-site
安装后运行 init
Docker
使用 Docker 安装 yii2-app
- 运行命令以创建项目
docker run --rm --interactive --tty \
--volume $PWD:/app \
--volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \
composer create-project --prefer-dist akiraz2/yii2-app my-site
- 将
.env-dist
复制到.env
,如有需要请进行配置。您可以将数据库从 mysql 更改为 postgresql - 只需更改 docker-compose.yml(并在初始化后更改 common/config/main-local.php) - 如果您已经有了现成的数据库,请将
/mysql/docker-entrypoint-initdb.d/createdb.sql.example
复制到createdb.sql
(这样就不需要运行迁移) - 运行
docker-compose build
(在构建之前,您可以在 /php/Dockerfile-debian 中配置 Docker PHP,例如,添加 mongodb) 运行
docker-compose up -d
- 运行
docker-compose exec php bash
,在终端中运行composer install
,然后php init
,然后运行其他迁移(见下文) - 打开 https://:8100 以测试前端(后端在 https://:8200)
访问控制台应用程序:在终端运行 docker-compose exec php bash
和 php yii mycommand/action
迁移
注意:请确保您已正确配置
db
应用程序组件,并运行以下命令
php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
php yii migrate --migrationPath=@yii/log/migrations/
php yii migrate --migrationPath=vendor/ignatenkovnikita/yii2-queuemanager/migrations/
php yii migrate/up
默认用户凭据
登录: adminus
密码: adminus
Web 服务器配置
对于新手,我建议您阅读以下说明 yiisoft/yii2-app-advanced/start-installation.md(apache,nginx 等 hosts)
开发
消息
在 common/config/main.php
中更改
'language' => 'ru-RU',
'sourceLanguage' => 'en-US',
在 common/messages/config.php
中添加您的语言
'languages' => [
'ru-RU',
],
在 shell 中
php yii message/extract common/messages/config.php
支持
如果您对 Yii2-App 有任何问题或问题,可以直接使用以下电子邮件地址提出:akiraz@bk.ru
。
贡献
如果您想做出贡献,请将该存储库分支并使用功能分支。欢迎拉取请求。+PSR-2 风格编码。
我可以在 2-3 天内应用补丁、PR!如果不这样做,请写信给我 akiraz@bk.ru
许可
Yii2-App 在 BSD 许可证下发布。有关详细信息,请参阅附带 LICENSE.md