Github專案地址:https://github.com/phalapi/phalapi
1、開發文件專為PHPer準備的優雅而詳細的開發文件,請看:PhalApi 2.x 開發文件。
2、線上示例預設介面服務: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=foldPhalApi創新專案-小白介面(免費、免開發、直接可用的的雲端API):https://www.yesapi.cn/3、快速安裝composer一鍵安裝使用composer建立專案的命令,可實現一鍵安裝。
$ composer create-project phalapi/phalapi
手動下載安裝溫馨提示:關於composer的使用,請參考Composer 中文網 / Packagist 中國全量映象。
或者,也可以進行手動安裝。將此Git專案程式碼下載解壓後,進行可選的composer更新,即:
$ composer update
4、部署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資料庫伺服器叢集 */ 'servers' => array( 'db_master' => array( // 伺服器標記 'type' => 'mysql', // 資料庫型別,暫時只支援:mysql, sqlserver 'host' => '127.0.0.1', // 資料庫域名 'name' => 'phalapi', // 資料庫名字 'user' => 'root', // 資料庫使用者名稱 'password' => '',\t // 資料庫密碼 'port' => 3306, // 資料庫埠 'charset' => 'UTF8', // 資料庫字符集 'pdo_attr_string' => false, // 資料庫查詢結果統一使用字串,true是,false否 'driver_options' => array( // PDO初始化時的連線選項配置 // 若需要更多配置,請參考官方文件:https://www.php.net/manual/zh/pdo.constants.php ), ), ), // 更多程式碼省略……);
最後,需要給runtime目錄新增寫入許可權。更多安裝說明請參考文件下載與安裝。
5、使用呼叫介面在PhalApi,你可以通過service引數(短名字是s引數)指定需要呼叫的介面服務。例如,訪問預設介面服務。
預設介面:http://dev.phalapi.net/?s=App.Site.Index對應執行的PHP程式碼在./src/app/Api/Site.php檔案,原始碼片段如下:
<?phpnamespace App\\Api;use PhalApi\\Api;/** * 預設介面服務類 * @author: dogstar <[email protected]> 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'], ); }}
介面請求後結果輸出類似如下:
{ "ret": 200, "data": { "title": "Hello PhalApi", "version": "2.4.2", "time": 1501079142 }, "msg": ""}
執行效果,截圖如下:
檢視線上介面文件PhalApi會根據你編寫的介面的引數配置和程式碼註釋,自動實時生成線上介面文件。線上介面文件連結為:
線上介面文件:http://dev.phalapi.net/docs.php瀏覽效果類似如下:
客戶端請求示例及SDK進入Portal運營平臺
PhalApi採用了當前流行且優秀的layuimin開發全新的管理後臺,專門提供給非技術的運營人員使用(技術人員也可使用)。安裝Portal前請先配置好資料庫連線。如果需要單獨升級Portal,可進入應用市場免費下載到本地後安裝升級。
6、一張圖告訴你如何使用PhalApi 2.x7、子專案phalapi/kernal框架核心phalapi/notorm資料庫包8、還有問題,怎麼辦?如發現問題,或者任何問題,歡迎提交Issue到這裡,或進入PhalApi開源社群。如果喜歡,請幫忙在Github或碼雲給個Star,也可以對PhalApi進行捐贈哦 ^_^。
9、開源許可協議GPL-2.0