davihu / phalcon-ext
Phalcon 框架的各种扩展和实用工具
v5.0.0
2022-04-12 10:29 UTC
Requires
- php: >=7.0
Requires (Dev)
- codeception/codeception: ^2.1
README
Phalcon 框架的各种扩展和实用工具
先决条件
安装
使用 Composer
您可以使用 composer
包管理器进行安装。运行以下命令之一:
$ php composer.phar require davihu/phalcon-ext "^1.2"
或者将以下内容添加到您的 composer.json 文件中:
"davihu/phalcon-ext": "^1.2"
新功能?
版本 1.2
添加嵌套集支持
为您的模型添加嵌套集支持。只需在模型中使用 trait \PhalconExt\Mvc\Model\Traits\NestedSetTrait 即可。
版本 1.1
添加 SQL 数据库迁移支持
可以轻松附加到您的控制台应用程序。
支持的命令
php console.php migrations generate # generates new migration class
php console.php migrations migrate # migrates database to last version
php console.php migrations migrate 160910160944 # migrates database to selected version
php console.php migrations sql > migrate.sql # saves SQL statements for migration to last version to file migrate.sql
php console.php migrations sql 160910160944 > migrate.sql # saves SQL statements for migration to selected version to file migrate.sql
在控制台引导文件中设置
-
选择迁移目录
define('MIGRATIONS_DIR', '... your migrations dir ...');
-
将目录注册到您的加载器中
不使用命名空间
$loader->registerDirs([ ... , MIGRATIONS_DIR]);
使用命名空间
$loader->registerNamespaces([ ... , 'Your\\Namespace' => MIGRATIONS_DIR]);
- 将迁移服务注册到 DI 中
不使用命名空间
$di->set('migrations', function () {
return new \PhalconExt\Db\SqlMigrations($this->get('db'), MIGRATIONS_DIR);
}, true);
使用命名空间
$di->set('migrations', function () {
return new \PhalconExt\Db\SqlMigrations($this->get('db'), MIGRATIONS_DIR, 'Your\\Namespace');
}, true);
编写迁移类
use PhalconExt\Db\SqlMigrations\AbstractMigration;
class Migration160910160944 extends AbstractMigration
{
public function up()
{
# simple statements
$this->addSql("ALTER TABLE robots ADD COLUMN number VARCHAR(20)");
# routine statements like triggers, procedures and functions
$this->addSql("CREATE TRIGGER MyTrigger ...", true);
}
public function down()
{
$this->addSql("ALTER TABLE robots DROP COLUMN number");
$this->addSql("DROP TRIGGER MyTrigger");
}
}
就这样,非常简单但功能强大!
内容
数据库
- PhalconExt\Mvc\Db\SqlMigrations - 直接通过 SQL 语句提供数据库迁移服务
- PhalconExt\Mvc\Db\SqlMigrations\AbstractMigration - 抽象 SQL 迁移,所有迁移都必须扩展此类
模型
- PhalconExt\Mvc\Model\Traits\RateLimitAccessTrait - 为目标模型添加访问速率限制支持
- PhalconExt\Mvc\Model\Traits\RateLimitLoginTrait - 为目标模型添加登录速率限制支持
验证器
- PhalconExt\Validation\Validator\Color - 验证值是否为有效颜色
- PhalconExt\Validation\Validator\EmailDomain - 通过 DNS 验证电子邮件域名存在性
- PhalconExt\Validation\Validator\PasswordRetype - 验证密码确认是否与密码匹配
- PhalconExt\Validation\Validator\PasswordStrength - 验证密码强度
- PhalconExt\Validation\Validator\StringLengthExact - 验证精确字符串长度
许可证
Phalcon Ext 是开源软件,许可协议为 新 BSD 许可证。© David Hübner