Pronúncia: PAI Framework, site oficial: https://www.phalapi.net/
Os documentos de desenvolvimento elegantes e detalhados, especialmente preparados para o PHPER, podem basicamente encontrar as respostas que você deseja na documentação. Por favor, consulte: Phalapi 2.x Development Documents.
Use o Composer para criar um comando do projeto para obter uma instalação com um clique.
$ composer create-project phalapi/phalapiLembrete quente: para o uso do compositor, consulte o site/pacote chinês compositor espelhamento em larga escala.
Como alternativa, a instalação manual pode ser realizada. Depois de baixar e descomprimir este código do projeto Git, execute uma atualização opcional do compositor, ou seja:
$ composer updateSe você estiver usando o nginx, pode consultar a seguinte configuração.
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 ;
}
}Ao configurar, você precisa definir o diretório raiz do site para o diretório público e reiniciar o NGINX depois de salvar a configuração.
Lembrete quente: é recomendável apontar o caminho da raiz de acesso/caminho/para/phalapi/público.
Como usar o banco de dados MySQL, consulte Modificar a configuração do banco de dados ./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
),
),
),
// 更多代码省略……
);Por fim, você precisa adicionar permissões de gravação ao diretório de tempo de execução. Para obter mais instruções de instalação, consulte a documentação para baixar e instalar.
Em Phalapi, você pode especificar o serviço de interface a ser chamado através do parâmetro de serviço (o nome curto é o parâmetro S). Por exemplo, acesse o serviço de interface padrão.
http://dev.phalapi.net/?s=App.Site.Index
A saída do resultado após a solicitação de interface é semelhante ao seguinte:
{
"ret": 200,
"data": {
"title": "Hello PhalApi",
"version": "2.4.2",
"time": 1501079142
},
"msg": ""
}
O código PHP correspondente está no arquivo ./src/app/api/site.php, e o fragmento de código -fonte é o seguinte:
<?php
namespace 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 ' ],
);
}
}O efeito de operação é o seguinte:

O PHALAPI gerará automaticamente documentos de interface on -line em tempo real com base na configuração de parâmetros e nos comentários de código da interface que você escreveu. O link do documento de interface online é:
O efeito de navegação é semelhante ao seguinte:
O efeito da página de detalhes do documento da interface é semelhante ao seguinte:
Suporta testes de interface on-line, solicitando descrições de amostra, gerando documentos de interface HTML offline e atualizações em tempo real.
./phalapi
├── README.md # 简介
├── bin # 脚本目录
├── config # 配置目录
│ ├── app.php # 应用配置
│ ├── dbs.php # 数据库配置
│ ├── di.php # 依赖服务配置
│ └── sys.php #系统配置
├── data # 数据库
│ └── phalapi.sql # 数据库安装时的文件
├── language # 翻译包
├── public # 对外访问的目录
│ ├── docs # 离线生成的HTML接口文档
│ ├── docs.php # 在线版接口文档访问入口
│ ├── index.php
│ ├── init.php # 全局初始化文件
│ ├── static # 静态资源
│ ├── uploads # 上传目录(需要有写入权限)
│ └── phalapi_logo.png # logo图片
├── runtime # 运行目录
│ ├── cache # 文件缓存
│ └── log # 文件日志
├── sdk # SDK包
├── src # 项目源代码,非常重要
│ ├── app # 接口源代码(遵循ADM模式)
│ │ ├── Api # 放置接口源代码,相当于控制器层
│ │ ├── Common # 公共代码目录,放置工具等
│ │ ├── Domain # 领域业务层,负责业务逻辑和处理
│ │ ├── functions.php # 公共函数库
│ │ └── Model # 数据源层,负责数据持久化存储及操作
│ └── view # 页面模板目录(如接口文档)
├── tests # 单元测试
└── vendor # composer包,不需要手动修改,通过composer install/update可进行安装和更新 Modifique o arquivo ./public/init.php para definir o idioma atual.
// 翻译语言包设定-简体中文
PhalApi SL ( ' zh_cn ' );
// Setting language to English
PhalApi SL ( ' en ' );
Lembrete quente: A extensão acima precisa ser instalada através do compositor antes do uso. Para obter mais informações sobre o uso e o desenvolvimento de bibliotecas de classes estendidas, consulte o documento: Biblioteca de classe de extensão da estrutura Phalapi.
Lembrete quente: A diferença entre plug-ins de aplicativo e extensões de compositores é que os plug-ins de aplicativos são mais granulares e têm funções mais específicas. Eles podem não apenas ter bancos de dados, interfaces, interfaces, mas também cooperar com outros terminais e não estão sujeitos a especificações do compositor. Eles são o método de desenvolvimento da invenção e design independentes de Phalapi. Para mais informações, consulte: Tutorial de desenvolvimento de plug-in de aplicativos de terceiros.
Lembrete quente: Todos os produtos acima usam a estrutura de código aberto Phalapi e são desenvolvidos independentemente pelo funcionário. Indivíduos/equipes/empresas podem usá -lo.
Se você encontrar algum problema ou problemas, envie um problema aqui.
Se quiser, ajude -me a me dar uma estrela no Github ou Mayun, e você também pode doar para Phalapi^_^.
Apache 2.0, a Apache License é um protocolo adotado pelo Apache, uma famosa organização sem fins lucrativos de código aberto. Esse protocolo é semelhante ao BSD e também incentiva o compartilhamento de código e respeita os direitos autorais do autor original e permite a modificação e a publicação de código (como código aberto ou software comercial).
Foi mantido e atualizado pela Guangzhou Guochuang Network Technology Co., Ltd. por um longo tempo.