Prestashop如何进行路由

来源:互联网 发布:郑州编程班 编辑:程序博客网 时间:2024/05/22 05:14

    与JAVAEE中的MVC思想类似,presta中也对不同的uri进行解析,然后由dispather分配给不同的controller。

    Presta的classes/controller/中有AdminController.php\Controller.php\FrontController.php三个文件,Admin和Front都继承了Controller.php,Admin用于后台管理,Front用于网站主页。而在controllers/文件夹中又分为Admin和Front两个文件夹,其中的所有controller都继承了AdminController和FrontController。

    那么这些controller是如何进行路由的呢,在classes/Dispatcher.php文件中,可以看到dispatch方法,presta默认会scancontrollers文件夹中的所有文件,将所有XXXController.php命名的controller放入“controllers”数组,XXXController则对应了XXX请求的uri。其中authentication/productscomparsion/contactform三个controller又起了别名,分别是auth/compare/contact。

    Presta大量使用了单例模式,举AuthController为例,收到uri请求后,首先由postProcess方法处理,判断它是什么动作(登陆、注册、找回密码),然后再分配给不同的方法处理。(- - 原来是这么个单例)

    如想修改页面title,则修改controller中的php_self变量及所有meta相关的表。

1 0
原创粉丝点击