1
13
我喜欢使用Reg-Ex而不是自己制作格式,因为这是常识。我写了一个小类,我使用它可以嵌套这些reg-ex路由表。我曾经使用类似于继承实现的东西,但它不需要继承,所以我重写了它。
我在一个键上做一个注册表项,并映射到我自己的控制字符串。以下面的例子为例。我访问
为了减少错误和简化,可以对表进行细分。这样就可以将路由表放入它控制的类中。在上面的例子中,您可以将三个线程调用组合成一个线程调用。
然后将threadcontroller::route定义为这样。
此外,您还可以为右侧的路由字符串定义所需的默认值。别忘了把它们记录下来,否则你会把人弄糊涂的。如果右边没有包含函数名,我现在正在调用索引。 Here 是我的当前代码。您可能希望更改它以处理您喜欢的错误和/或默认操作。 |
2
2
还有另一个框架?不管怎样… 路由的诀窍是把它全部传递给路由控制器。 你可能想使用类似我在这里记录的东西: http://www.hm2k.com/posts/friendly-urls 第二个解决方案允许您使用类似于Zend框架的URL。 |
3
1
使用regexs列表来匹配我应该使用的对象 例如
优点:又好又简单,让我直接定义路线 缺点:必须订购,不容易添加新内容(非常容易出错) 这是,阿法克,姜戈是怎么做到的 |
4
0
我认为很多框架都使用Apache的mod-rewrite和前端控制器的组合。使用mod_rewrite,您可以将这样的URL:/people/get/3转换为: 索引?controller=people&method=get&id=3。php将实现前端控制器,它根据给定的参数路由页面请求。 |
5
0
如你所料,有很多方法可以做到。
例如,在
Slim Framework
,路由引擎的一个例子可能是如下(基于模式
所以,初始化的实例(
路由可以获取令牌——这是一个“变量”,在运行时将根据一些数据(如成员名称、文章ID、组织位置名称或其他)进行更改——您知道,就像在每个路由控制器中一样。 就我个人而言,我确实喜欢这种方式,但我认为它对于高级框架来说不够灵活。 由于我目前正在与ZF和YII合作,我确实有一个路由器的例子,它是我为一家公司创建的框架的一部分: 路由引擎基于regex(类似于@gradbot's one),但有一个双向对话,因此如果您的客户机不能在他或她的服务器上运行mod ou rewrite(在apache中)或添加rewrite规则,他或她仍然可以使用带有查询字符串的传统URL。 该文件包含一个数组,每个数组中的每个项与此示例类似:
您还可以使用更复杂的组合,例如:
正如我认为的,底线是可能性是无限的,这取决于你希望你的框架有多复杂,以及你希望用它做什么。 例如,如果它只是打算成为一个Web服务或简单的网站包装器-只要使用Slim框架的写作风格-非常简单和好看的代码。 但是,如果您希望使用它开发复杂的站点,我认为regex是解决方案。 祝你好运!:) |
6
0
你应该检查一下pux https://github.com/c9s/Pux 这是概要
|
7
-1
Zend的MVC框架默认使用类似
哪里
我以前在自己的代码中使用过类似的东西,到目前为止它工作得相当好。 |
Bham · Symfony通过yaml路由名称 6 年前 |
Abhinav Jha · 如何在jquery帖子的回调中重定向 6 年前 |
Burst of Ice · 成功身份验证后角度路由不工作 6 年前 |
RyanIndustries8 · 阵列角度布线5 6 年前 |