2017 © Pedro Peláez
 

library fastd-phalcon

image

xueron/fastd-phalcon

  • Saturday, January 6, 2018
  • by xueron
  • Repository
  • 1 Watchers
  • 3 Stars
  • 9 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

FastD Phalcon

在 FastD 框架中使用 Phalcon 的 ORM, 替换 FastD 自带的 Medoo。, (*1)

FastD是基于swoole的微服务框架。 Phalcon是一个用C编写的PHP框架,其ORM性能相当好。请阅读了解如何安装Phalcon?, (*2)

安装

$ composer require xueron/fastd-phalcon

配置

修改配置文件 config/app.php,添加 PhalconServiceProvider,如下:, (*3)

<?php
return [
    // 省略了无关配置
    'services' => [
        \Xueron\FastDPhalcon\PhalconServiceProvider::class,
    ],
];

其他配置

可选在 config.php 中增加如下配置:, (*4)

<?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);

或者, (*5)

<?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 感兴趣,请阅读官方文档。, (*6)

如果你想快速使用 Phalcon,可以尝试这个开箱即用的Pails框架。, (*7)

如果你对Phalcon的DB和ORM不熟悉,请阅读下面的资料。 * Phalcon - Database: Layer * Phalcon - Database: Models * Phalcon - Database: Pagination * Phalcon - Database: PHQL, (*8)

The Versions

06/01 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

by Avatar xueron

02/12 2017

v1.0.0

1.0.0.0

  Sources   Download

MIT

The Requires

  • php >=5.6
  • ext-phalcon ^3.2

 

by Avatar xueron