当前位置: 首页 > 工具软件 > PhalApi > 使用案例 >

PhalAPI学习笔记 ——— 第二章接口服务请求

贺英悟
2023-12-01

前言

公司业务需要转学PHP,而PHP中一个功能强大且生态链完整的PHP接口框架 PhalAPI
值得大家去学习,本学习笔记持续更新!
虽然官方文档写的十分明白,以及CSDNPhalAPI框架内容也少之又少。
因此,以自我踩坑为基础,提供一个更为精简的学习笔记,本学习笔记将会省略部分安装及简单操作。

接口服务请求

介绍:接口服务请求实际上就是 路由跳转,而在PhalAPI中我们该如何定义路由跳转呢?

接口服务请求案例

简单且常用的请求三种基础请求

  • http://localhost/phalapi/public
  • http://localhost/phalapi/public/index.php
  • http://localhost/phalapi/public?s=App.Site.index

而问题来了,能不能自定义服务请求(路由)类似第①种?

框架内部提供了config的配置,自动匹配路由地址转换

自定义接口路由

需要如下几步

  • 开启 sys.php 中的 enable_uri_match 设置为 true
  • 修改Apache or Nginx 路由配置
  • 浏览器访问路由地址

开启匹配路由

sys.php

    'enable_uri_match' => true,

配置路由规则

由于我用的是apache ,官网的nginx配置也将一同拽下来

nginx

server {
    listen 80;
    server_name dev.phalapi.net;
    root /path/to/phalapi/public;
    charset utf-8;

    # 开启URI路由匹配
    location / {
        try_files $uri $uri/ $uri/index.php;
    }
    if (!-e $request_filename) {
        rewrite ^/(.*)$ /index.php last;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    access_log logs/dev.phalapi.net.access.log;
    error_log logs/dev.phalapi.net.error.log;
}

apache

在根目录下配置一个 .htaccess 文件

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

服务请求

Apache: http://127.0.0.1/phalapi/public/index.php/App/Site/index
Nginx: http://127.0.0.1/phalapi/public/App/Site/index

是不是很简单呢?大家可以通过自定义的接口进行访问,例如:http://127.0.0.1/phalapi/public/index.php/App/HelloWorld/index

结束语

关于 PhalAPI学习笔记 ——— 第二章接口服务请求 就讲到这里,对你有帮助的话!

  • 点赞
  • 收藏

谢谢你的观看!

 类似资料: