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
*/
异常输出:
官网有很多丰富类型,大家可以根据需求使用
4. swoft配置文件
根目录的 .env.example
并命名为 .env,里面可以配置都为常规配置,大家直接跟自己的需求配置就好了
其次自己也应该在config目录做好自己对应的数据库等配置:
5.swoft也提供了非常好的数据库原型支持:
php swoft entity:create -h命令可以直接帮你创建模型(注意:在swoft框架应用内部bin目录下使用此命令)
如无异常以下文件夹会自动帮你生成model文件:
本文将持续更新,期待大家的关注,谢谢~