首页 > 编程知识 正文

vue路由管理,vue项目路由配置

时间:2023-05-05 13:56:32 阅读:23606 作者:4226

来自博客:上帝的尾巴,原文链接

提交给了github。 路由组件代码。 代码的质量一般。 看看: )

组件的想法

现在是单入口,在index.php中配置组件,并调用组件dispatch中指定的控制器。

此外,该框架充当后端的纯Api框架。 没有PHP模板引擎,与前端的所有数据交换都通过json (推荐)或xml进行。 所以要支持跨域,还必须支持rest风格的请求。

目前实现的一些特性

自动调用控制器并处理请求。

专门用于分析参数的Param工具类。

有解析器FormData、Json,PHP不处理PUT请求的参数,添加解析器工具类,处理前端发送的数据。 包括对上载文件的分析(可以设置为临时文件,直接获取文件内容并将其放置在相对较小的文件中)。

当前博客是用这个组件编写的,代码也在github上。

还有需要完善的地方(这几天抽时间解决) )。

自定义路由:添加正则匹配。

例如`/article/:id `,自动放置整数并将其设置为参数id。

[

' url'='/article/:id ',

' filter'=[

' id'='/d /'

]

#'controller'='Article@detail '

' real'='/article/detail/:id '

]

实现流程

composer.json配置

{

' name': 'godtail/router ',

' description': 'Easy router,no config,support RESTFul.',

'许可证' : ' MIT ',

' require': {

' php': '=5.3.3'

(,

' autoload': {

' PSR-4 ' : { ' god tail\ router' : './src ' }

}

}

所需的配置

' deep'=2,#控制器层数

' default'=['Index ',' index'],#默认,自动完成

' namespacePre'='Service\ ',#控制器名称空间前缀

' classSuffix'='Service ',#控制器类名的后缀

' crossDomain'=[ #跨域设置]

' allowOrigin'='http://test.net ',

' maxAge'='86400 ',

' headers'='Content-Type ',

' methods'='OPTIONS,GET,PUT,POST,DELETE ',

]

如何获得更好的URL风格

在nginx rewrite中,rewrite为index.php指定不匹配的url? /$uri。

位置/{

try_files $uri $uri//index.php? /$uri;

}

这样godtail.cn/index.php? 如果写/article/tag,就可以写godtail.cn/article/tag。

路由和URL参数解析

用于设定路由为几层的config的deep参数,功能比较简单的话可以分为2层,分为module的话可以分为3层。

获取URL,根据/分割。

例如` deep=2`,` godtail.cn/article/tag/page/2 `,page设置为Params。

Params:包含用于存储所请求参数的静态变量$data。

提供get、set、parse方法。

公式数据分析

对于来自POST的请求,PHP可以处理,并设置为$_POST或$_FILES,但对于PUT请求,必须自行处理php://input数据流。

格式数据格式

------- boundary---------[ '---- ' boundary ]

name=1

内容类型=xxxx

[换行]

数据内容1

------- boundary---------[ '---- ' boundary ]

name=2

内容类型=xxxx

[换行]

数据内容2

--------boundary------------[最后一个'----'boundary'----']

当前,如果设置了saveFile,则按正则进行分析处理。 使用tempnam生成临时文件。

启用

#设定构成

router :3360 config $ config [ ' router ' ];

#分布

Router:dispatch (;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。