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


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

    前言

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

    自定义接口

    小伙伴会问 那在 PhalAPI中怎么自定义接口,同时需要满足什么条件呢?

    • 一个PHP类
    • 一个函数
    • 一个浏览器

    就可以完成接口开发实现!

    大家跟我一起试试看!

    项目实例

    在目录为:./phalapi/src/app/Api下创建一个php文件名为:HelloWorld.php
    内容如下:

    <?php
    namespace App\Api;
    
    use PhalApi\Api;
    
    /**
     *  HelloWorld 你好世界,这是我们对PhalAPI框架学习的第一个API
     *  @Author Marinda
     */
    class HelloWorld extends Api
    {
    
    //    重写PhalAPI方法
        public function getRules()
        {
    //        格式:数组(api方法名数组(API字段名(args)));
            return array(
                "index"=> array(
                    "userName" => array("name"=>"userName","default"=>"Marinda"),
                    "title" => array("name" => "title","default"=>"Hello World")
                )
            );
        }
    
    //    与我们自定义字段名的key相同!
        public function index(){
            return array("userName"=>$this->userName,"title",$this->title);
        }
    }
    
    • 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
    • 26
    • 27
    • 28
    • 29

    浏览器访问: http://127.0.0.1/phalapi/public/index.php?s=App.HelloWorld.index

    结果

    结果

    分布解析

    HelloWorld.php 代码块中存在两个函数

    • getRules()

    由于HelloWorld.php是继承于 PhalAPI/Api/Api 类,而 PhalAPI/Api/Api 中有一个设置接口参数的 getRules() 方法!
    因此我们上面代码块是重写该方法,自定义我们自己的参数item,以实现自定义接口参数的功能!

    • index()

    细心的小伙伴们就会发现,怎么有个index方法和规则中的 index参数一致呢?还是框架硬性要求如此设置,其实并不然!
    由于我们一个接口中会有很多很多个参数,而这些参数也需要有自己的一套实现函数,因此,在这里起到了 区别接口数据的作用!

    结束语

    关于 PhalAPI学习笔记 ——— 第一章自定义HelloWorld接口 就讲到这里,对你有帮助的话!

    • 点赞
    • 收藏

    谢谢你的观看!

  • 相关阅读:
    C语言for循环高手小技巧
    【设计模式】Java设计模式 - 装饰者模式
    数仓工具—Hive语法之join 扩展(23)
    在 FPGA 上快速构建 PID 算法
    [AIGC] “惊天神器!Java大师推荐的终极工具 Netty ,让你的代码速度狂飙!“
    【Git】安装和常用命令的使用与讲解及项目搭建和团队开发的出现的问题并且给予解决
    SparkSQL
    机器学习吴恩达
    关于api设计的一些思考-restful理想主义与商业需求的无解冲突
    基于蚁群算法的TPS问题求解策略研究(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/qq_33638188/article/details/125450520