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

  • 前言
  • 接口服务请求
  • 接口服务请求案例
  • 自定义接口路由
    • 开启匹配路由
    • 配置路由规则
      • nginx
      • apache
  • 服务请求
  • 结束语

前言

公司业务需要转学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 OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /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学习笔记 ——— 第二章接口服务请求 就讲到这里,对你有帮助的话!

  • 点赞
  • 收藏

谢谢你的观看!

PhalAPI学习笔记 ——— 第二章接口服务请求相关推荐

  1. PhalAPI学习笔记 ——— 第一章自定义HelloWorld接口

    PhalAPI学习笔记 --- 第一章自定义HelloWorld接口 前言 自定义接口 项目实例 结果 分布解析 结束语 前言 公司业务需要转学PHP,而PHP中一个功能强大且生态链完整的PHP接口框 ...

  2. 《Go语言圣经》学习笔记 第二章 程序结构

    Go语言圣经学习笔记 第二章 程序结构 目录 命名 声明 变量 赋值 类型 包和文件 作用域 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记,几乎是书上的内 ...

  3. [go学习笔记.第二章] 2.go语言的开发工具以及安装和配置SDK

    一.工具介绍: 1.Visual Studio Code 一个运行于Mac,Windows,和linux上的,默认提供Go语言的语法高亮的IED,可以安装Go语言插件,还可以支持智能提示,编译运行等功 ...

  4. 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择

    小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...

  5. 小吴的《机器学习 周志华》学习笔记 第二章 2.4 比较检验、2.5 偏差与方差

    小吴的<机器学习 周志华>学习笔记 第二章 2.4 比较检验. 2.5 偏差与方差 2.4 比较检验 上一周提到了实验的评价方法和性能量度,步骤简单可以看成:先使用某种实验评估方法测得学习 ...

  6. 机器人导论(第四版)学习笔记——第二章

    机器人学导论(第四版)学习笔记--第二章 2. 空间描述和变换 2.1 引言 2.2 描述:位置.姿态与位姿 2.3 映射:从一个坐标系到另一个坐标系的变换 2.4 算子:平行,旋转和变换 2.5 总 ...

  7. Kotlin学习笔记 第二章 类与对象 第十一节 枚举类 第八节密封类

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  8. Kotlin学习笔记 第二章 类与对象 第三节接口 第四节 函数式接口

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  9. Android开发艺术探索学习笔记 第二章IPC

    最近将之前工作做本地的学习笔记上传一下 这里是Android艺术开发探索的前三章内容 文章目录 1. android的多进程模式 2. IPC基础概念介绍 2.1 Serializable 2.2Pa ...

最新文章

  1. 【数据结构与算法】之深入解析“不同路径II”的求解思路与算法示例
  2. C#生成PDF文件中时,设置边框为虚线和隐藏显示单个或者多个边框。
  3. 谷歌虚拟服务器申请,【美国podserver.info】免费300M虚拟主机空间申请使用教程
  4. 一场关于Google不作恶信条的辩论会
  5. MySql 5.6.36 64位绿色版安装
  6. h5页面嵌入android app时遇到的问题
  7. 蝴蝶优化算法_腾讯机智团队分享--AllReduce算法的前世今生
  8. 作为参数给后端为空_后端 API 接口文档 Swagger 使用指南
  9. 前端 html h5 移动端 手机端 仿ios左滑删除效果
  10. Python实现线程安全队列
  11. 30个ies光域网带图_15个让你脚下更细腻的经典控球训练
  12. VC2008编译 配置 PortAudio
  13. flash将文本呈现为html,flash中的静态文本、动态文本、输入文本
  14. excel常用函数公式
  15. Linux之安装显卡驱动
  16. LM2596电源模块原理图及PCB分享
  17. 卡尔曼滤波原理及matlab仿真
  18. Github 标星 3w+,热榜第一,使用 Python实现所有算法!
  19. unity 360°全景图
  20. 类型多样的终结者游戏成套模型素材,速来收藏

热门文章

  1. 五种常见的聚类算法总结
  2. win10 删除设备和驱动器中你不要的图标
  3. 威纶通,威纶通UI,WEINVIEW UI,HMI 模板,人机界面模板,WEINVIEW
  4. 一文搞懂“如何通过群晖+DNSPod DDNS搭建私有云服务?”
  5. 第九十四章 SQL函数 %MINUS
  6. PostgreSQL JIT(Just-In-Time Compilation)With LLVM 的实现原理
  7. 机器视觉学习资料了解
  8. Could not connect to broker URL: tcp://localhost:61616?wireFormat.maxInactivityDuration=0wireForma
  9. Linux/Unix设计思想
  10. SparkMLlib简介