nenad / yii2-basic-template
Nenad Zivkovic改进的Yii 2基本应用程序模板
Requires
- php: >=5.4.0
- kartik-v/yii2-password: @dev
- yiisoft/yii2: *
- yiisoft/yii2-bootstrap: *
- yiisoft/yii2-swiftmailer: *
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-28 15:49:40 UTC
README
Yii2-basic-template基于由yii2核心开发者创建的yii2-app-basic,但也使用了他们高级模板中的一些特性。对此模板进行了几个升级。
- 此模板几乎包含了yii2-app-advanced默认的所有功能。
- 它具有本指南下一节中列出的附加功能。
- 应用结构已更改,以适应“共享主机友好”。
功能
- 注册时是否激活账户
- 您可以选择是否需要新用户使用电子邮件账户激活系统激活账户才能登录。
- 使用电子邮件/密码或用户名/密码组合登录。
- 您可以选择用户如何登录系统。他们可以使用用户名|密码组合或电子邮件|密码登录。
- 在运行
yii migrate
命令时,Rbac表格与其他迁移一起安装。- RbacController的init()动作将插入5个角色和2个权限到由迁移创建的rbac表格中。
- 角色可以很容易地由网站的管理员分配给用户。
- 会话数据存储在_protected/session文件夹中。
- 系统设置存储在config/params.php文件中。
- 默认支持主题。
- 默认支持翻译。
- 管理员+角色可以管理用户。
- 默认包含密码强度验证和强度计。
- 默认包含简单的角色管理。
- 代码大量注释。
安装
我假设您知道如何:安装和使用Composer,以及安装运行系统所需的其他包/驱动程序。如果您对这一切都很陌生,您可以在www.freetuts.org上查看我为在Windows 8和基于Ubuntu的Linux操作系统上安装yii2开发者提供的默认应用程序模板而提供的指南。
-
创建您将要为应用程序使用的数据库(您可以使用phpMyAdmin或任何您喜欢的其他工具)。
-
现在打开您的控制台,
cd
到您的网站根目录,例如:cd /var/www/html/
-
运行Composer的
create-project
命令composer create-project nenad/yii2-basic-template basic
-
现在您需要告诉应用程序使用您之前创建的数据库。在
basic/_protected/config/db.php
中打开db.php配置文件,并调整您的连接凭据。 -
回到控制台。在您新安装的应用程序中,
cd
到_protected
文件夹。 -
执行yii迁移命令,该命令将安装必要的数据库表
./yii migrate
或如果您在Windows上,yii migrate
-
执行rbac控制器的init动作,该动作将默认角色和权限填充到我们通过迁移创建的rbac表格中
./yii rbac/init
或如果您在Windows上,yii rbac/init
您完成了,您可以在浏览器中启动您的应用程序。
注意:第一个注册的用户将获得“theCreator”(超级管理员)角色。这应该是你。这个角色拥有所有可能的超级权限(:-) 。第一个用户之后注册的其他用户默认不会获得任何角色。这是因为经过身份验证的用户(默认为@)与我们的成员角色相同。
测试
如果您想运行测试,您应该创建一个额外的数据库来存储您的测试数据。通常测试数据库将与生产数据库具有相同的结构。我假设您已全局安装了Codeception,并且知道如何使用它。以下是如何轻松设置一切的步骤:
-
假设您已创建一个名为
basic
的数据库。现在创建一个名为basic_tests
的测试数据库。 -
在您的
db.php
配置文件中,将您将要使用的数据库更改为basic_tests
。 -
打开您的控制台,并使用
cd
命令进入应用程序的_protected
文件夹。 -
再次运行迁移:在Windows上使用
./yii migrate
,或者如果您在Windows上,则直接使用yii migrate
。 -
再次运行rbac/init:在Windows上使用
./yii rbac/init
,或者如果您在Windows上,则直接使用yii rbac/init
。 -
现在,您可以告诉应用程序再次使用
basic
数据库而不是basic_tests
。再次调整您的db.php
配置文件。 -
现在,您已经准备好告诉Codeception使用
basic_tests
数据库。在
_protected/tests/codeception/config/config.php
文件中,告诉您的db
使用basic_tests
数据库。 -
在应用程序根目录下启动php服务器:在Windows上使用
php -S localhost:8080
(如果应用程序名称为basic,则根目录是basic
文件夹)。 -
转到
_protected/tests
,运行codecept build
,然后运行测试。
目录结构
_protected
assets/ contains assets definition
components/ contains custom made application components
config/ contains application configurations
console contains console commands (controllers and migrations)
controllers/ contains Web controller classes
helpers/ contains helper classes
mail/ contains view files for e-mails
models/ contains model classes
rbac/ contains role based access control classes
runtime/ contains files generated during runtime
tests/ contains various tests for the basic application
translations/ contains application translations
views/ contains view files for the Web application
widgets/ contains widgets
assets contains application assets generated during runtime
themes contains your themes
uploads contains various files that can be uploaded by application users
2.3.0版本更改
- 将
components
文件夹添加到_protected
文件夹中,并在其中添加了Aliases
类。 - 模板中已删除文章。
- 主题已更改。
- 对大量代码进行了改进。
- 添加了更多的翻译信息。
密码强度指南
从1.1.1版本发布以来,密码强度扩展已包括在改进模板的核心部分。使用非常简单:
在我们的注册、用户创建/更新和密码重置表单中,当用户输入密码时,密码强度计始终显示。这将向他们提供密码强度的视觉表示。
但这还不是全部。作为The Creator,您在设置中有“强制使用强密码”的选项,您可以使用它。如果您将其打开,用户将被迫使用您选择的预设中的强密码。例如,如果您使用的是正常预设,用户将被迫使用至少8个字符的密码,至少包含一个大小写字母和一个数字。
选择预设
默认情况下,正常预设用于注册和用户创建/更新表单。对于密码重置,我们使用“simple”预设。如果您想自定义使用的预设,请参阅SignupForm模型、User模型和ResetPasswordForm模型。您将看到用于使用强密码的规则。预设位于vendor/kartik-v/yii2-password/presets.php
。您可以选择预设.php中声明的其他预设,或创建新的预设。