PHPackages                             phalapi/phalapi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. phalapi/phalapi

ActiveProject[API Development](/categories/api)

phalapi/phalapi
===============

PhalApi v2.x，一个PHP轻量级开源接口框架，致力于快速开发接口服务。

v2.23.4(3mo ago)1.6k12.2k↓33.3%372[29 issues](https://github.com/phalapi/phalapi/issues)[2 PRs](https://github.com/phalapi/phalapi/pulls)GPL-3.0+PHPPHP &gt;=5.3.3

Since Aug 24Pushed 3mo ago90 watchersCompare

[ Source](https://github.com/phalapi/phalapi)[ Packagist](https://packagist.org/packages/phalapi/phalapi)[ Docs](http://www.phalapi.net)[ RSS](/packages/phalapi-phalapi/feed)WikiDiscussions master-2x Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (64)Used By (0)

[![apic](https://camo.githubusercontent.com/ca414cb98387f2e9c92dfa3859e89f1bb90dd8f1c87de180439b541ad73288d9/687474703a2f2f63646e372e6f6b61796170692e636f6d2f7965737965736170695f32303139303730393232333334345f38616164626366646266613239376131393330313263306461646133326135382e6a706567)](https://camo.githubusercontent.com/ca414cb98387f2e9c92dfa3859e89f1bb90dd8f1c87de180439b541ad73288d9/687474703a2f2f63646e372e6f6b61796170692e636f6d2f7965737965736170695f32303139303730393232333334345f38616164626366646266613239376131393330313263306461646133326135382e6a706567)

[PhalApi开源接口框架 / PhalApi API Framework](https://www.phalapi.net/)
=================================================================

[](#phalapi开源接口框架--phalapi-api-framework)

> 读音：派框架，官网：

[![Latest Stable Version](https://camo.githubusercontent.com/b2680ddc9a99a05f41449dfe29b7549841f92620522e38bd10fcc01e41d91659/68747470733a2f2f706f7365722e707567782e6f72672f7068616c6170692f7068616c6170692f762f737461626c65)](https://packagist.org/packages/phalapi/phalapi)[![Total Downloads](https://camo.githubusercontent.com/3cbcf2f2f167a5f450800288c13fcd95cdba90348316595f92618151f4f0b667/68747470733a2f2f706f7365722e707567782e6f72672f7068616c6170692f7068616c6170692f646f776e6c6f616473)](https://packagist.org/packages/phalapi/phalapi)[![Latest Unstable Version](https://camo.githubusercontent.com/65f54119ba2540858c1ae965032d26b5af9b37732e1e8e85aabde019ff469023/68747470733a2f2f706f7365722e707567782e6f72672f7068616c6170692f7068616c6170692f762f756e737461626c65)](https://packagist.org/packages/phalapi/phalapi)[![License](https://camo.githubusercontent.com/cd226b3776f69c9dec0c4461a96b03ac4c1152a4e9c99abb4da67e2e224a9d0d/68747470733a2f2f706f7365722e707567782e6f72672f7068616c6170692f7068616c6170692f6c6963656e7365)](https://packagist.org/packages/phalapi/phalapi)

Stargazers over time
--------------------

[](#stargazers-over-time)

[![Stargazers over time](https://camo.githubusercontent.com/6a6d702d3cb08256c2c627c58e0dd183e217d2e41ca38278c10cf123960672f8/68747470733a2f2f7374617263686172742e63632f7068616c6170692f7068616c6170692e737667)](https://starchart.cc/phalapi/phalapi)

开发文档
----

[](#开发文档)

专为PHPer准备的优雅而详细的开发文档，基本都能在文档找到你要的答案，请看：[PhalApi 2.x 开发文档](http://docs.phalapi.net/#/v2.0/)。

在线示例
----

[](#在线示例)

- 在线接口文档：
- 接口详情文档（以默认接口为例）：[http://demo.phalapi.net/docs.php?service=App.Site.Index&amp;detail=1&amp;type=fold](http://demo.phalapi.net/docs.php?service=App.Site.Index&detail=1&type=fold)
- 默认接口服务：

快速安装
----

[](#快速安装)

### composer一键安装

[](#composer一键安装)

使用composer创建项目的命令，可实现一键安装。

```
$ composer create-project phalapi/phalapi
```

> 温馨提示：关于composer的使用，请参考[Composer 中文网 / Packagist 中国全量镜像](http://www.phpcomposer.com/)。

### 手动下载安装

[](#手动下载安装)

或者，也可以进行手动安装。将此Git项目代码下载解压后，进行可选的composer更新，即：

```
$ composer update
```

部署
--

[](#部署)

### Nginx配置

[](#nginx配置)

如果使用的是Nginx，可参考以下配置。

```
server {
    listen 80;
    server_name dev.phalapi.net;
    # 将根目录设置到public目录
    root /path/to/phalapi/public;
    charset utf-8;

    location / {
        index index.php;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # 根据当前环境，选择合适的通讯方式
        # fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
```

配置时需要将网站根目录设置到public目录，配置保存后重启nginx。

> 温馨提示：推荐将访问根路径指向/path/to/phalapi/public。

### 数据库配置

[](#数据库配置)

如何使用的是MySQL数据库，参考修改`./config/dbs.php`数据库配置。

```
return array(
    /**
     * DB数据库服务器集群 / database cluster
     */
    'servers' => array(
        'db_master' => array(                       // 服务器标记 / database identify
            'type'      => 'mysql',                 // 数据库类型，暂时只支持：mysql, sqlserver / database type
            'host'      => '127.0.0.1',             // 数据库域名 / database host
            'name'      => 'phalapi',               // 数据库名字 / database name
            'user'      => 'root',                  // 数据库用户名 / database user
            'password'  => '',	                    // 数据库密码 / database password
            'port'      => 3306,                    // 数据库端口 / database port
            'charset'   => 'UTF8',                  // 数据库字符集 / database charset
            'pdo_attr_string'   => false,           // 数据库查询结果统一使用字符串，true是，false否
            'driver_options' => array(              // PDO初始化时的连接选项配置
                // 若需要更多配置，请参考官方文档：https://www.php.net/manual/zh/pdo.constants.php
            ),
        ),
    ),

    // 更多代码省略……
);
```

最后，需要给runtime目录添加写入权限。更多安装说明请参考文档[下载与安装](http://docs.phalapi.net/#/v2.0/download-and-setup)。

使用
--

[](#使用)

### 调用接口

[](#调用接口)

在PhalApi，你可以通过service参数（短名字是s参数）指定需要调用的接口服务。例如，访问默认接口服务。

```
http://dev.phalapi.net/?s=App.Site.Index

```

接口请求后结果输出类似如下：

```
{
    "ret": 200,
    "data": {
        "title": "Hello PhalApi",
        "version": "2.4.2",
        "time": 1501079142
    },
    "msg": ""
}

```

对应执行的PHP代码在./src/app/Api/Site.php文件，源码片段如下：

```
