zoukankan      html  css  js  c++  java
  • ThinkPHP笔记——URL结构与模块分组

    ThinkPHP的URL结构对初学者来说是一个很难理解的问题,比如同样的一个页面:

    http://localhsot/index.php

    我也可以使用  http://localhost/index.php/Index/index显示出来。

      从这里来看能够很好的拆解URL地址的含义对学号ThinkPHP尤为重要。下面看一下实例:

      我建立的ThinkPHP实例,在根目录下创建项目home,并使用了Home和Admin模块分组,实现了模块的分组操作。

      基本的ThinkPHP URL访问是这样的:

      http://域名/项目名/分组名/模块名/操作名/其他参数 

      比如我的域名就是  localhost;项目名没有;分组名就是Home 或者Admin;模块名就是Index;操作名就是IndexAction.class.php控制器中的某个函数。

      这里必须知道控制器、操作名、项目分组等含义。个人理解入口文件是每个页面都需要的index.php;项目名就是这个入口文件建立的项目的名字;控制器就是项目文件夹中lib\action\文件夹中的类似IndexAction.class.php的类文件;操作名也是方法,就是控制器中的function方法名。


      写控制器时需要注意控制器的命名规则:

      1、控制的文件名命名:  IndexAction.class.php  首字母大写,加上  .class;

      2、类的定义: class IndexAction extends Action  类名和文件名师对应的(注意大写),还需要继承Action类

      3、控制器可以使用Private方式定义function,但是只能在该控制器中使用。

      空操作方法的定义:

      空操作方法的性质有点类似于GET或者POST提交输出的方式,通过浏览器输入的网址中的操作名来进行相应的操作(如果存在相应的操作即进行相关操作,如果不存在则进行空操作)

      

        public function _empty($name) {
    $this->city($name);
    }
    protected function city($name) {
    echo $name;
    }



      知道了空操作,空模型就不用再多说什么也就很容易理解了。当用户在地址栏输入的地址中的控制器不存在时,就只直接导入到空模型中。 

    <?PHP

    class EmptyAction extends Action {
    public function index(){
    $cityname = MODULE_NAME;
    $this->city($cityname);
    }
    private function city($cityname) {
    echo $cityname;
    }
    }
    ?>


  • 相关阅读:
    75. Sort Colors
    101. Symmetric Tree
    121. Best Time to Buy and Sell Stock
    136. Single Number
    104. Maximum Depth of Binary Tree
    70. Climbing Stairs
    64. Minimum Path Sum
    62. Unique Paths
    css知识点3
    css知识点2
  • 原文地址:https://www.cnblogs.com/picaso/p/2420121.html
Copyright © 2011-2022 走看看