zoukankan      html  css  js  c++  java
  • thinkphp3.2笔记(2)调试模式,配置项C,创建模块, 四种URL模式,URL生成,跳转

    一、调试模式

    TP的调试模式其实就控制了TP关于配置信息以及函数的缓存功能

    如果开启了调试模式,每次访问项目,Tp都会去加载最新的配置以及函数信息。

    如果关闭了调试模式,当tp第一次访问时会降配置以及函数信息保存到一个文件common-->runtime.php,后续每次访问都直接读取这文件。

    开启调试方式,必须写在加载tp框架之前

    define('APP_DEBUG',TRUE);

    二、配置项

    1.  tp默认配置文件,

        Thinkphp =>Conf=>convention.php

    2.  公共模块的配置文件      

       Application => Common => conf => conf.php

    3. 模块配置文件  

     home  =>  common =>conf = > config.php

    4. 配置文件的优先级

    模块配置 > 公共模块配置  >  TP默认的配置文件

    三.  配置

    ThinkPHP框架中默认所有配置文件的定义格式均采用返回PHP数组的方式

    配置参数不区分大小写(因为无论大小写定义都会转换成小写)

     1. 读取配置    C('参数名称') 

    // 由于配置参数不区分大小写

         C('url_model');     url_model 尚未存在设置,则返回NULL。

    2   动态配置

    之前的方式都是通过预先定义配置文件的方式,而在具体的操作方法里面,我们仍然可以对某些参数进行
    动态配置(或者增加新的配置),主要是指那些还没有被使用的参数

     设置格式:
    C('参数名称','新的参数值')
    例如,我们需要动态改变数据缓存的有效期的话,可以使用
    // 动态改变缓存有效期
    C('DATA_CACHE_TIME',60);
    动态配置赋值仅对当前请求有效,不会对以后的请求造成影响。

    四。 创建模块

    1. 在application 下创建目录    Admin

    2  在 Admin目录下创建对应的控制器,模型,视图等目录

     

    3   在后台的模块里面创建控制器,方法

     

     五   TP中四种URL 模式介绍

     1 普通模式

     默认情况下是通过入口文件 m, c, a 传递三个参数来指定 具体的模块,控制器,方法名称来实现访问到某一个方法

    普通访问格式:

    http://www.tptest.com/index.php?m=admin&c=admin&a=testadmin

    2  pathinfo模式

    PATHINFO模式是系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所
    以能够支持大多数的主机环境。对应上面的URL模式,PATHINFO模式下面的URL访问地址是:

     http://www.tptest.com/index.php/admin/admin/testadmin

     对于上述的地址,访问Admin模块下的admin控制器下面的testadmin方法 ,如果带参数

     http://www.tptest.com/index.php/admin/admin/testadmin/name/value

    3. rewire模式

     <IfModule mod_rewrite.c>
      Options +FollowSymlinks
      RewriteEngine On

      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>

    六   URL生成

    1. U函数

    U方法的定义规则如下(方括号内参数根据实际应用决定):
    U('地址表达式',['参数'],['伪静态后缀'],['显示域名'])
    地址表达式
    地址表达式的格式定义如下:
    [模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...

    U('User/add') // 生成User控制器的add操作的URL地址


    U('Blog/read?id=1') // 生成Blog控制器的read操作 并且id为1的URL地址


    U('Admin/User/select') // 生成Admin模块的User控制器的select操作的URL地址

     七 页面跳转

     系统的 ThinkController 类内置了两个跳转方法success和error,用于页
    面跳转提示,而且可以支持ajax提交。

    1. success和error方法的第一个参数表示提示信息,第二个参数表示跳转地址,第三个参数是跳转时间(单
    位为秒),例如:
    // 操作完成3秒后跳转到 /Article/index
    $this->success('操作完成','/Article/index',3);


    // 操作失败5秒后跳转到 /Article/error
    $this->error('操作失败','/Article/error',5);

    2. 跳转地址是可选的,success方法的默认跳转地址是 $_SERVER["HTTP_REFERER"] ,error方法的默认
    跳转地址是 javascript:history.back(-1); 。

    默认的等待时间success方法是1秒,error方法是3秒

    success 和 error 方法都可以对应的模板,默认的设置是两个方法对应的模板都是:
    //默认错误跳转对应的模板文件
    'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl',
    //默认成功跳转对应的模板文件
    'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl',

    3.重定向

    Controller类的redirect方法可以实现页面的重定向功能。
    redirect方法的参数用法和U函数的用法一致(参考URL生成部分),例如:


    //重定向到New模块的Category操作
    $this->redirect('New/category', array('cate_id' => 2), 5, '页面跳转中...');

    $this->redirect( 'Admin/admin/testadmin',array('id'=>2),3,"页面重定向跳转中");

    $this->redirect( 'Admin/admin/testadmin','id=2',3,"页面重定向跳转中");   


    上面的用法是停留5秒后跳转到New模块的category操作,并且显示页面跳转中字样,重定向后会改变当
    前的URL地址。


    如果你仅仅是想重定向要一个指定的URL地址,而不是到某个模块的操作方法,可以直接使用
    redirect 函数重定向,例如:


    //重定向到指定的URL地址


    redirect('/New/category/cate_id/2', 5, '页面跳转中...')
    Redirect函数的第一个参数是一个URL地址。

    八  空操作与空控制器

    1.空操作

     

    2.空控制器

  • 相关阅读:
    routine 程序;日常工作|日常的;例行的
    have great expectation of 寄予厚望
    数据库总结十完整性约束
    Spoken Language One
    Stature 身高,身材;(精神、道德等的)高度
    ultimate与estimate
    dramatically 从戏剧角度;戏剧性地,显著地
    predestined 注定的
    How to lists.
    endanger 危及;使遭到危险
  • 原文地址:https://www.cnblogs.com/keta/p/9507027.html
Copyright © 2011-2022 走看看