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;
    }
    }
    ?>


  • 相关阅读:
    windows phone 7 中文天气预报应用来源http://www.cnblogs.com/liulunet/archive/2011/08/17/2141696.html
    Margin 属性的一些边界情况说明 转http://blog.csdn.net/ghj1976/article/details/4987686
    C#中的委托和事件(续)
    Windows Phone 7开发,进度条ProgressBar使用详解
    Silverlight BitmapImage的SetSource(Stream streamSource)致命性错误的解决办法
    Windows Phone 7 页面间传值 来源http://blog.csdn.net/dncts/article/details/6160067
    windows phone textblock C#设置颜色以及换行
    C# 中的委托和事件
    jsp连接Sql2008
    jsp连接Sql2008delete操作
  • 原文地址:https://www.cnblogs.com/picaso/p/2420121.html
Copyright © 2011-2022 走看看