The Wayback Machine - http://web.archive.org/web/20201123175252/https://github.com/phalapi
Skip to content
Avatar

Highlights

  • Arctic Code Vault Contributor
phalapi/README.md

apic

PhalApi / PhalApi API Framework






Latest Stable VersionTotal DownloadsLatest Unstable VersionLicense

Stargazers over time


Stargazers over time

 / Documents


PHPerPhalApi 2.x 
PhalApi 2.x English Docs.

线 / Demo




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



线http://demo.phalapi.net/docs.php



http://demo.phalapi.net/docs.php?service=App.Site.Index&detail=1&type=fold



PhalApi-APIhttps://www.yesapi.cn/



Default APIhttp://demo.phalapi.net/?s=App.Site.Index



Online API List Documenthttp://demo.phalapi.net/docs.php



Online API Detail Documenthttp://demo.phalapi.net/docs.php?service=App.Site.Index&detail=1&type=fold



Innovation project based on PhalApi-YesApihttps://www.yesapi.cn/


 / Install

composer / Install by composer


使composer

One-click installation can be achieved by using the command of composer to create a project.
$ composer create-project phalapi/phalapi

composer使Composer  / Packagist 

 / Download and Install manually


Gitcomposer
Alternatively, manual installation is also possible. Download PhalApi Project master-2x branch Source code. After downloading and unzipping, perform an optional composer update:
$ composer update

部署 / Deployment

Nginx配置 / Nginx Configuration


使Nginx
If you are using Nginx, you can refer to the following configuration.
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;
    }
}

publicnginx
Point the root path of the visit to public folder. Save and reload nginx.


访/path/to/phalapi/public
Tips: It is recommended to point the root path of the visit to /path/to/phalapi/public.

 / Database Configuration


使MySQL./config/dbs.php
If you are using MySQL, please edit ./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
At last, add writeable permission to folder runtime. For more detail about installation, refer to Download and Installation.

使 / Usage

 / API Request


PhalApiservices访

For PhalApi, the default communicate protocol is HTTP/HTTPS. According to the specific implementation of the API service, we could use GET or POST to request. By default, you can specify the service parameter or sfor short when requesting. The default API service is App.Site.Index.


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

Default APIhttp://dev.phalapi.net/?s=App.Site.Index


PHP./src/app/Api/Site.php
The source PHP code of App.Site.Index API service is at ./src/app/Api/Site.php file.
<?php
namespace App\Api;
use PhalApi\Api;

/**
 * 默认接口服务类
 * @author: dogstar <chanzonghuang@gmail.com> 2014-10-04
 */
class Site extends Api {
    public function getRules() {
        return array(
            'index' => array(
                'username'  => array('name' => 'username', 'default' => 'PhalApi', 'desc' => '用户名'),
            ),
        );
    }

    /**
     * 默认接口服务
     * @desc 默认接口服务,当未指定接口服务时执行此接口服务
     * @return string title 标题
     * @return string content 内容
     * @return string version 版本,格式:X.X.X
     * @return int time 当前时间戳
     * @exception 400 非法请求,参数传递错误
     */
    public function index() {
        return array(
            'title' => 'Hello ' . $this->username,
            'version' => PHALAPI_VERSION,
            'time' => $_SERVER['REQUEST_TIME'],
        );
    }
}


API result as below after requesting:
{
    "ret": 200,
    "data": {
        "title": "Hello PhalApi",
        "version": "2.4.2",
        "time": 1501079142
    },
    "msg": ""
}


Runtime Sreenshot:

_20190201151943

线 / Visit Online API List Documents


PhalApi线线
PhalApi will generate realtime online API documents automatically by PHP code and PHP comments. You can visit them by:


线http://dev.phalapi.net/docs.php

Online API Docshttp://dev.phalapi.net/docs.php



Preview:

Portal / Use Portal Platform


PhalApilayuimin使使PortalPortal

PhalApi provides a new management system and we name it Portal.

 / i18n


./public/init.php
Edit ./public/init.php file to set current language.
// 翻译语言包设定-简体中文
\PhalApi\SL('zh_cn');

// Setting language to English
\PhalApi\SL('en');

一张图告诉你如何使用PhalApi 2.x / All in One Picture


phalapi-install

 / Sub Projects



phalapi/kernal / Framework Kernal

phalapi/notorm / Database Library based on NotORM

/ Any Question?


IssuePhalApi
GithubStarPhalApi ^_^

Welcome to report any issue here.
If you like PhalApi, welcome to give us a Star at Github.

 / Licence


Apache 2.0Apache LicenceApacheBSD

Popular repositories


  1.  A PHP framework foucs on API fast development.PhalApiπPHP  

    JavaScript   1.3k   352  
  2. 基于PhalApi 2.4.2 和iView-Admin 2.3.0 的后台开源框架,纯前后端分离的主流设计,使用PHP7+Vue。

    Objective-C 67 17

  3. PhalApi 1.x 扩展类库,与码云保持同步。2.x的扩展请移步到:http://docs.phalapi.net/#/v2.0/library

    PHP 43 28

  4. 基于PhalApi+Vue.js的开源博客系统。

    PHP 24 2

  5. 《初识PhalApi —— 探索接口服务开发的技艺》,一本介绍开源框架PhalApi使用和进阶的电子书。

    PHP 16 4

  6. [即将废弃,转移回大本营] PhalApi 2.x 项目框架,可用于快速开发PHP接口服务,助你创造价值!主要更新:引入composer和命名空间,并遵循PSR-4。

    11 4

63 contributions in the last year

Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Mon Wed Fri

Contribution activity

November 2020

Seeing something unexpected? Take a look at the GitHub profile guide.

You can’t perform that action at this time.