一定记住MVC原理是:先视图,再控制器,再视图,再控制器……
cakePHP的URL映射原理是这样的:
http://localhost/news/映射的是news项目下的webroot文件夹下的index.php文件,从代码中可以发现,并没有出现实际的前台代码,所做的知识一下cakePHP的框架初始化工作,这项工作在加载index.php后便宣告结束。在此之后就是重点了:
请注意app/config/目录下有个routes.php文件,里面只有一句话:
Router::connect ('/',array('controller'=>'Displays', 'action'=>'index'));
这个就是我寻找了很久的页面实际定向代码!
'/'指url,数组里的第一项指明控制器名称,第二个指明控制器中的方法。这句代码的效果就是使http://localhost/news/最终跳转到displays文件夹中的index视图。
http://localhost/news/items/映射的是views文件夹下 的 items文件夹下 的 index文件
http://localhost/news/items/addnewtopic映射的是views文件夹下 的 items文件夹下 的 addnewtopic.ctp文件,这个文件的处理是由controllers文件夹下的items_controller.php中定义的ItemsController类中的函数function addnewtopic()完成的。
~~~~~~~~~~~~不知道这么说你懂了没~~~~~~~~~~~~~~
不懂的话好好看看cakePHP的命名规则吧!