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


    前言

    公司业务需要转学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,
    
    • 1

    配置路由规则

    由于我用的是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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    服务请求

    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学习笔记 ——— 第二章接口服务请求 就讲到这里,对你有帮助的话!

    • 点赞
    • 收藏

    谢谢你的观看!

  • 相关阅读:
    SQL transaction事物以及各种锁
    Windows上安装pyenv,以及pyenv切换环境不生效的问题
    [附源码]JAVA毕业设计计算机专业在线学习评估软件-演示录像-(系统+LW)
    PTE-RA总结
    [开源]一个低代码引擎,支持在线实时构建低码平台,支持二次开发
    IDEA修改jvm内存
    [spark] RDD 编程指南(翻译)
    linux操作系统期末考试题库
    Vue事件绑定(v-on用法)
    Java的设计模式基本概念及使用场景
  • 原文地址:https://blog.csdn.net/qq_33638188/article/details/125507277