xueron / fastd-phalcon
v1.0.0
2017-12-02 10:26 UTC
Requires
- php: >=5.6
- ext-phalcon: ^3.2
This package is not auto-updated.
Last update: 2024-12-16 08:03:18 UTC
README
在 FastD 框架中使用 Phalcon 的 ORM, 替换 FastD 自带的 Medoo。
FastD是基于swoole的微服务框架。 Phalcon是一个用C编写的PHP框架,其ORM性能相当好。请阅读了解如何安装Phalcon?
安装
$ composer require xueron/fastd-phalcon
配置
修改配置文件 config/app.php
,添加 PhalconServiceProvider
,如下:
<?php return [ // 省略了无关配置 'services' => [ \Xueron\FastDPhalcon\PhalconServiceProvider::class, ], ];
其他配置
可选在 config.php 中增加如下配置:
<?php return [ // 省略了其他配置 'phalcon' => [ 'debug' => false, // 开启后,会DEBUG日志打印数据库调试日志。DEBUG日志在app.php中配置 'antiidle' => false, // 开启后,会通过定时器定时访问一下数据库,方式发呆断线 'interval' => 100, // 防发呆定时间隔,单位秒,建议比mysql的wait_timeout略短 'maxretry' => 3, // 出现断线,自动重连的尝试次数,尝试多次不成功,worker会退出 ] ];
配置 Model
<?php namespace Model; use Xueron\FastDPhalcon\Model\Model; class Subscription extends Model { // 指定表名称,默认与Model类名相同 public function getSource() { return 'subscriptions'; } }
分页
分页的简单使用
<?php use Phalcon\Paginator\Factory; $builder = phalcon_builder() ->columns('id, name') ->from('Robots') ->orderBy('name'); $options = [ 'builder' => $builder, 'limit' => 20, 'page' => 1, 'adapter' => 'queryBuilder', ]; $paginator = Factory::load($options);
或者
<?php use Phalcon\Paginator\Adapter\QueryBuilder as PaginatorQueryBuilder; $builder = phalcon_builder() ->columns('id, name') ->from(Subscription::class) ->orderBy('name'); $paginator = new PaginatorQueryBuilder( [ 'builder' => $builder, 'limit' => 20, 'page' => 1, ] ); return json([ 'model' => (Subscription::class), 'data' => $paginator->getPaginate() ]);
其他资源
如果你对 Phalcon 感兴趣,请阅读官方文档。
如果你想快速使用 Phalcon,可以尝试这个开箱即用的Pails框架。
如果你对Phalcon的DB和ORM不熟悉,请阅读下面的资料。