dominus77 / yii2-advanced-start
基于 Yii2 的 Yii 2 高级模板
Requires
- php: >=5.6
- ext-json: *
- almasaeed2010/adminlte: ^2.4
- bower-asset/html5shiv: ^3.7
- bower-asset/respond: ^1.4
- dominus77/yii2-jcrop-widget: ^2.1
- dominus77/yii2-maintenance: ^1.0
- dominus77/yii2-noty: ^1.0
- driftyco/ionicons: ^2.0
- fortawesome/font-awesome: ^4.6
- guzzlehttp/guzzle: ~6.0
- yii2tech/ar-softdelete: ~1.0
- yiisoft/yii2: ~2.0.14
- yiisoft/yii2-apidoc: ~2.1.0
- yiisoft/yii2-bootstrap: ~2.0.0
- yiisoft/yii2-imagine: ^2.0
- yiisoft/yii2-swiftmailer: ~2.0.0 || ~2.1.0
Requires (Dev)
- codeception/codeception: ^4.0
- codeception/module-asserts: ^1.0
- codeception/module-filesystem: ^1.0
- codeception/module-phpbrowser: ^1.0
- codeception/module-rest: ^1.2
- codeception/module-yii2: ^1.0
- codeception/verify: ~0.5.0 || ~1.1.0
- flow/jsonpath: ^0.5.0
- friendsofphp/php-cs-fixer: ^2.16
- phpmd/phpmd: ^2.9
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.5
- symfony/browser-kit: >=2.7 <=4.2.4
- yiisoft/yii2-debug: ~2.0.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.0.0
This package is auto-updated.
Last update: 2024-09-13 16:56:14 UTC
README
应用程序采用高级模式构建,具有模块化结构。后端部分使用 AdminLTE 模板。提供控制台用户管理命令和 RBAC 系统。
基本组件
页面(后端 AdminLTE 模板)
- 首页
- 用户
- RBAC
- 个人资料
- 登录
- 维护
页面(前端)
- 首页
- 联系
- 注册
- 个人资料
- 登录
- 维护
模块
- main
- rbac
- users
功能
- 重置密码
- 通过电子邮件确认
- 最后访问
- 从控制台和 Web 界面管理 RBAC
- 维护
系统
- RBAC(DbManager)
- 管理用户
- 管理维护
- 控制台命令
- i18n
CSS 主题 Bootstrap
模板包括 CSS 主题 Bootstrap
切换主题在 /frontend/config/main.php
中发生
要求
此项目模板的最低要求是您的 Web 服务器支持 PHP 5.6.0。
目录结构
api
components/ contains components api application
config/ contains api application configurations
messages/ contains i18n api application
modules/ contains modules api version application
runtime/ contains files generated during runtime
tests/ contains tests for api application
web/ contains the entry script
common
assets/ contains application assets such as JavaScript and CSS
components/ contains components frontend, backend and console
config/ contains shared configurations
mail/ contains layouts files for e-mails
messages/ contains i18n backend frontend
models/ contains model classes used in both backend and frontend
tests/ contains tests for common classes
widgets/ contains widgets backend and frontend
console
components/ contains console components
config/ contains console configurations
controllers/ contains console controllers (commands)
messages/ contains i18n console
migrations/ contains database migrations
models/ contains console-specific model classes
runtime/ contains files generated during runtime
backend
assets/ contains application assets such as JavaScript and CSS
components/ contains backend components
config/ contains backend configurations
controllers/ contains Web controller classes
messages/ contains i18n backend
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
widgets/ contains backend widgets
frontend
assets/ contains application assets such as JavaScript and CSS
config/ contains frontend configurations
controllers/ contains Web controller classes
messages/ contains i18n frontend
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
vendor/ contains dependent 3rd-party packages
environments/ contains environment-based overrides
modules/
main/ contains module main
controllers/ contains module Web controller classes
backend/ contains module backend Web controller classes
frontend/ contains module frontend Web controller classes
messages/ contains i18n module
models/ contains module-specific model classes
backend/ contains module backend-specific model classes
frontend/ contains module frontend-specific model classes
traits/ contains module traits
views/ contains module view files for the Web application
backend/ contains module backend view files for the Web application
frontend/ contains module frontend view files for the Web application
Bootstrap.php File autoload module settings app components (urlManager)
Module.php General Module class
rbac/ contains module rbac
components/ rules and rbac init
behavior/ access backend behavior
console/ contains console controllers (commands)
controllers/ contains module Web controller classes
backend/ contains module backend Web controller classes
messages/ contains i18n module
migrations/ contains database migrations module
models/ contains module-specific model classes
tests/ contains module tests
traits/ contains module traits
views/ contains module view files for the Web application
backend/ contains module backend view files for the Web application
Bootstrap.php File autoload module settings app components (urlManager)
Module.php General Module class
users/ contains module users
behavior/ contains module behavior
commands/ contains console controllers (commands)
controllers/ contains module Web controller classes
backend/ contains module backend Web controller classes
frontend/ contains module frontend Web controller classes
mail/ contains module view files for e-mails
messages/ contains i18n module
migrations/ contains database migrations module
models/ contains module-specific model classes
backend/ contains module backend-specific model classes
frontend/ contains module frontend-specific model classes
traits/ contains module traits
views/ contains module view files for the Web application
ajax/ contains module ajax.js
backend/ contains module backend view files for the Web application
frontend/ contains module frontend view files for the Web application
widgets/ contains module widgets
Bootstrap.php File autoload module settings app components (urlManager)
Module.php General Module class
安装
安装此项目的首选方式是通过 composer。
创建项目
composer create-project --prefer-dist --stability=dev dominus77/yii2-advanced-start public_html
或克隆存储库以启用 pull
命令
git clone https://github.com/Dominus77/yii2-advanced-start.git public_html
cd public_html
composer install
初始化环境
在项目的根目录 public_html
中运行命令
如果开发环境
composer app-init-dev
如果生产环境
composer app-init-prod
否则选择周三
php init
Yii 应用程序要求检查器
请参阅 http://sitename.com/requirements.php
注意:对于生产环境,建议删除
frontend\web\requirements.php
文件
如果一切正常,请继续,否则配置服务器配置。
继续
创建数据库,默认配置为 yii2_advanced_start 在 common\config\main-local.php
$config = [ //... 'components' => [ 'db' => [ 'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_start', //... ], //... ], //... ];
应用迁移
composer migrate-up
初始化 RBAC
composer rbac-init
创建用户,输入命令并按照说明操作
php yii users/user/create
- 用户名:设置用户名(admin);
- 电子邮件:设置电子邮件(
admin@example.com
); - 密码:设置密码(至少 6 个符号);
- 状态:设置状态(0 - 锁定,1 - 活动,2 - 等待,? - 帮助);
分配管理员角色
php yii rbac/roles/assign
- 用户名:设置用户名(admin);
- 角色:设置角色(admin,editor,manager,super_admin,user,? - 帮助);(此设置配置 rbac 模块模型 Role.php、Permission.php 以及在 components 文件夹中的 RbacInit.php)
如果您正在将服务器安装到 Apache 服务器上的 public_html 文件夹中,您必须配置重定向。在根目录中创建 public_html .hitaccess,内容如下
Options FollowSymLinks AddDefaultCharset utf-8 <IfModule mod_rewrite.c> RewriteEngine On # the main rewrite rule for the frontend application RewriteCond %{REQUEST_URI} !^/(backend/web|admin) RewriteCond %{REQUEST_URI} !^/(api/web|api) RewriteRule !^frontend/web /frontend/web%{REQUEST_URI} [L] # redirect to the page without a trailing slash (uncomment if necessary) #RewriteCond %{REQUEST_URI} ^/admin/$ #RewriteRule ^(admin)/ /$1 [L,R=301] # the main rewrite rule for the backend application RewriteCond %{REQUEST_URI} ^/admin RewriteRule ^admin(.*) /backend/web/$1 [L] # redirect to the page without a trailing slash (uncomment if necessary) #RewriteCond %{REQUEST_URI} ^/api/$ #RewriteRule ^(api)/ /$1 [L,R=301] # the main rewrite rule for the api application RewriteCond %{REQUEST_URI} ^/api RewriteRule ^api(.*) /api/web/$1 [L] # if a directory or a file of the frontend application exists, use the request directly RewriteCond %{REQUEST_URI} ^/frontend/web RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward the request to index.php RewriteRule . /frontend/web/index.php [L] # if a directory or a file of the backend application exists, use the request directly RewriteCond %{REQUEST_URI} ^/backend/web RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward the request to index.php RewriteRule . /backend/web/index.php [L] # if a directory or a file of the api application exists, use the request directly RewriteCond %{REQUEST_URI} ^/api/web RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward the request to index.php RewriteRule . /api/web/index.php [L] RewriteCond %{REQUEST_URI} \.(htaccess|htpasswd|svn|git) RewriteRule \.(htaccess|htpasswd|svn|git) - [F] </IfModule>
Web 文件夹,后端,前端和 api 部分也添加 .hitaccess
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php
现在前端在 http://sitename.com
上可用,后端在 http://sitename.com/admin
上,api 在 http://sitename.com/api/v1/users
上
代码检查器
composer check-style
测试
创建数据库,默认配置为 yii2_advanced_start_test 在 common\config\test-local.php
$config = [ //... 'components' => [ 'db' => [ 'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_start_test', //... ], //... ], //... ];
应用迁移
composer migrate-test-up
在控制台中运行
composer build
composer test
许可证
BSD 许可证(BSD)。有关更多信息,请参阅 许可证文件