zoukankan      html  css  js  c++  java
  • 学习swoft的第二天_注解

    承接上文

    第一天的时候,开启ws服务之后

    php bin/swoft ws:start

    可以通过ip加端口的方式进行访问

    这是我们访问到的页面

    我们知道要想学习一个新的框架,首先要知道的就是它的路由是怎么写的

    文档上说,swoft框架使用的是注解,而不像laravel或者tp那样定义路由

    先看一下 我们访问的首页是哪一个控制器中的哪一个方法

     这个就是我们访问到的控制器和方法,因为我们是访问的http服务,所以在http服务里面找,根据经验在home控制器中(猜)

    我们可以测试一下

     然后再请求一次 记得重启服务

     这看起来像是一个错误,是说我们应该返回一个http的相应,却返回了一个整型,暂且不管结果,总之,这个方法就是首页访问到的方法

    注解

    然后我们看一下注解

    注解路由应该是Java中最常用到的,对于纯php开发可能了解的不多

    文档中说的比较简单

     

     首先就是要引入

    use SwoftHttpServerAnnotationMappingController;
    use SwoftHttpServerAnnotationMappingRequestMapping;

    然后标注控制器 又叫类注解 需要在所有类注释后面

      

    /**
     * Class Home
     *
     * @Controller(prefix="home")
     */

    方法注解 位置在方法描述之后 其他注释之前

    /**
         * 该方法路由地址为 /home/index
         *
         * @RequestMapping(route="/index", method="post")
         *
         * @param Request $request
         */

    需要注意的是 注解的引号必须是双引号,单引号无效,报找不到路由的错误

    完成注解之后需要重新启动服务

    写个例子

    新创建一个控制器 DemoController

    <?php declare(strict_types=1);
    
    
    namespace AppHttpController;
    
    
    use SwoftHttpMessageResponse;
    use SwoftHttpServerAnnotationMappingController;
    use SwoftHttpServerAnnotationMappingRequestMapping;
    use function context;
    
    
    
    /**
     *Class DemoController
     *
     *
     * @Controller(prefix="demo")
     */
    class DemoController
    {
        /**
         *
         * @RequestMapping(route="baozi", method="post")
         *
         *@return Response
         */
        public function index(): Response
        {
            $response = context()->getResponse();
            return $response->withContent("Hello Swoft2.0");
        }
    }

    根据注解 这个路由是 demo/baozi  post请求方式

     至于请求与响应 在核心组件中的httpserver 中有说明

  • 相关阅读:
    Sql ISNULL() 函数
    C#WinForm中按钮响应回车事件的简单方法
    职场升迁全攻略 人脉资源是铺垫
    怎样成为有钱人
    睡前应做六件事
    赚钱的秘诀(转)
    将Win2003转换成个人PC版系统
    抠图神器Inpaint 4.2
    iPhone升级记:从4.3.3到5.0.1:越狱篇
    iPhone升级记:从4.3.3到5.0.1:弯路篇
  • 原文地址:https://www.cnblogs.com/baozi-tudou/p/12956031.html
Copyright © 2011-2022 走看看