使用 OOP 在 PHP 中编写/设计 URL 路由器的技巧
我喜欢 Zend_Controller_Router_Rewrite 的优雅以及它使用的各种路由类。
我想编写一个非常相似的路由系统作为独立组件,这样我就可以将 URL 转换为一组参数并再次将它们组装回来。这个想法是使用它们来选择,例如,基于每个路径的 URL 规范化处理程序。
我考虑过扩展实际的 Zend Controller Route 类来创建我自己的。但是,这些类似乎在 Zend MVC 的领域语言中非常深入地路由(如果你能原谅双关语的话)。
您知道可在我的项目中使用的独立路由包/类集吗?
如果我自己编写的话,zend router 是我可以使用的任何特定设计模式的示例吗?
您对编写 URI 路由器有什么建议吗?
I love the elegance of Zend_Controller_Router_Rewrite and the various route classes it uses.
I'd like to write a very similar routing system as a standalone component so I can translate URLs into a set of parameters and assemble them back again. The idea is to use them to select, say, an URL normalization handler on a per-path basis.
I have considered extending the actual Zend Controller Route classes to make my own. But, these classes seem very deeply routed (if you'd excuse the pun) in the domain language of the Zend MVC.
Do you know of a standalone routing package/set of classes available to use in my project?
Is the zend router an example of any particular design pattern I could use if i write my own?
Do you have any tips on writing a URI router?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查看 Alloy PHP 框架中的 URL 路由器:
http://alloyframework.org/manual/url-router/
有一个关于在框架之外使用它作为独立库,恕我直言,它是一个比 Zend_Controller_Router_Rewrite 更优雅的解决方案。
Check out the URL Router in the Alloy PHP Framework:
http://alloyframework.org/manual/url-router/
There is a specific heading about using it outside the framework as a standalone library, and IMHO it is a much more elegant solution than Zend_Controller_Router_Rewrite.
我希望我没有误解你的问题。
我没有使用Zend_Controller_Router,但是codeigniter和cakephp router通过'/'爆炸了一个url参数,并将它们映射到不同的控制器和方法,我认为从头开始实现一个并不难。
i hope i do not mis-understand your question.
i haven't used Zend_Controller_Router, but codeigniter and cakephp router explode a url parameter by '/', and map them to different controllers and methods, which, i think, is not difficult to implement one from scratch.