swoft 学习笔记之初出茅庐

 

1.swoft需要在linux上运行,自己使用虚拟机在ubuntu系统下进行了安装swoft

启动swoft命令:

/var/www/html/swoft/bin$ sudo php swoft start
 

2.遇到跨域访问解决方案引入对应的类包,并在控制器中开启允许访问

use Swoft\Http\Message\Bean\Annotation\Middleware;
use App\Middlewares\CorsMiddleware;
/**
 *
 * @Middleware(class=CorsMiddleware::class)
 * @Controller(prefix="/api/jg_im")
 */

2.传说中的注释路由:

    /**
     * 用户信息
     * 地址:/api/jg_im/show_info
     * @RequestMapping(route="/api/jg_im/show_info", method={RequestMethod::POST,RequestMethod::PUT})
     */
    public function showInfo(Request $request)
    {
        $name = $request->input('name');

    }

使用注释路由的时候请注意:

控制器的注释路由和其名称保持一致:

/**
 *
 * @Middleware(class=CorsMiddleware::class)
 * @Controller(prefix="/api/test")
 */
class TestController

接口名称与注释路由保持一致,并注意自己使用的请求方式,post与get或者put,针对自己需要选择

   /**
     * 测试路由
     * 地址:/api/test/create_im_user
     * @RequestMapping(route="test_one", method={RequestMethod::POST,RequestMethod::PUT})
     *
     */
    public function testOneUser(Request $request){return 1;}

配置完成后通过自己设置的访问路径即可访问接口

http://你的虚拟机访问地址:89/api/test/test_one

 

3.如何使用注释验证器:

以Number为例:

使用前大家先引用验证包

use Swoft\Bean\Annotation\ValidatorFrom; 
use Swoft\Bean\Annotation\Number;
    /**
     * 地址:/api/test/test_one
     * @RequestMapping(route="test_one", method={RequestMethod::POST,RequestMethod::PUT})
     * @Number(from=ValidatorFrom::POST, name="account_no", min=1, max=111, default="1111", template="提交的{account_no}参数不符合最小长度{min}和最大长度{max}")
     * @param string  $account_no
     * @param Request $request
     * @return array
     */

异常输出:

swoft 学习笔记之初出茅庐_第1张图片

官网有很多丰富类型,大家可以根据需求使用

 

4. swoft配置文件

根目录的 .env.example 并命名为 .env,里面可以配置都为常规配置,大家直接跟自己的需求配置就好了

其次自己也应该在config目录做好自己对应的数据库等配置:

swoft 学习笔记之初出茅庐_第2张图片

 

5.swoft也提供了非常好的数据库原型支持:

php swoft entity:create -h命令可以直接帮你创建模型(注意:在swoft框架应用内部bin目录下使用此命令)

 

如无异常以下文件夹会自动帮你生成model文件:

swoft 学习笔记之初出茅庐_第3张图片

 

 

 

本文将持续更新,期待大家的关注,谢谢~

 

 

你可能感兴趣的:(swoft)