zoukankan      html  css  js  c++  java
  • 三、thinkphp

    'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符
    'TMPL_L_DELIM'=>'<{', //修改左定界符
    'TMPL_R_DELIM'=>'}>', //修改右定界符
    'DB_TYPE'=>'mysql',   //设置数据库类型
    'DB_HOST'=>'localhost',//设置主机
    'DB_NAME'=>'thinkphp',//设置数据库名
    'DB_USER'=>'root',    //设置用户名
    'DB_PWD'=>'',        //设置密码
    'DB_PORT'=>'3306',   //设置端口号
    'DB_PREFIX'=>'tp_',  //设置表前缀
    'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息
    'SHOW_PAGE_TRACE'=>true,//开启页面Trace
    'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名
    'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次
    'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
    'THEME_LIST'=>'your,my',//支持的模板主题列表
    'TMPL_PARSE_STRING'=>array(           //添加自己的模板变量规则
        '__CSS__'=>__ROOT__.'/Public/Css',
        '__JS__'=>__ROOT__.'/Public/Js',
    ),
    'LAYOUT_ON'=>true,//开启模板渲染
    'URL_CASE_INSENSITIVE'=>true,//url不区分大小写
    'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀
    'APP_GROUP_LIST' => 'Home,Admin', //项目分组设定
    'DEFAULT_GROUP'  => 'Home', //默认分组

    #
    # ThinkPHP 3.1.2 模板的使用技巧
    #
    讲师:赵桐正
    微博:http://weibo.com/zhaotongzheng

    本节课大纲:
    一、模板包含
    <include file="完整模板文件名" />
    <include file="./Tpl/default/Public/header.html" />
    <include file="read" />
    <include file="Public:header" />
    <include file="blue:User:read" />
    <include file="$tplName" />
    <include file="header" title="ThinkPHP框架"keywords="开源WEB开发框架"/>
    在模板中变量用[变量]接受
    <include file='file1,file2' />
    二、模板渲染
    1、自动开启模板渲染 设置配置文件
    'LAYOUT_ON'=>true,//开启模板渲染
    准备一个模板渲染页面,在页面中使用{__CONTENT__}接受具体模板页面的内容
    如果在摸一个具体模板中不希望使用渲染模板,可以在页首添加{__NOCONTENT__}
    2、不开启自动模板渲染可以在每一个具体页面的页首添加
    <layout name='layout'/>
    3.使用技巧
    在渲染模板文件中也可以使用其他模板文件的内容
    <include file='Public:header'/>
    <body>
    <p>这里是渲染页面!!!</p>
    {__CONTENT__}
    </body>
    </html>
    三、模板的继承

    #
    # ThinkPHP 3.1.2 控制器的模块和操作
    #
    讲师:赵桐正
    微博:http://weibo.com/zhaotongzheng

    本节课大纲:
    一、空模块和空操作
    1、空操作
    function _empty($name){
    $this->show("$name 不存在 <a href='__APP__/Index/index'>返回首页</a>");
    }
    2.空模块
    class EmptyAction extends Action{
    function index(){
    $city=M('City');
    $arr=$city->select();
    $this->assign('list',$arr);
    $name=MODULE_NAME;
    $this->display("City:$name");
    }
    }

    二、前置操作和后置操作
    1、前置操作: _before_操作名
    2、后置操作: _after_操作名

    #
    # ThinkPHP 3.1.2 URL
    #
    讲师:赵桐正
    微博:http://weibo.com/zhaotongzheng

    本节课大纲:
    一、URL规则
    1、默认是区分大小写的
    2、如果我们不想区分大小写可以改配置文件
    'URL_CASE_INSENSITIVE'=>true,//url不区分大小写
    3、如果模块名为 UserGroupAction
    那么url找模块就必要要写成
    http://localhost/thinkphp4/index.php/user_group/index
    4、如果'URL_CASE_INSENSITIVE'=>false
    那么url也可以写为
    http://localhost/thinkphp4/index.php/UserGroup/index
    二、URL伪静态
    'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀
    三、URL路由
    1、启动路由
    要在配置文件中开启路由支持
    2、使用路由
    1.规则表达式配置路由
    'my'=>'Index/index',//静态地址路由
    ':id/:num'=>'Index/index',//动态地址路由
    'year/:year/:month/:date'=>'Index/index',//动态和静态混合地址路由
    'year/:yeard/:monthd/:dated'=>'Index/index',//动态和静态混合地址路由
    加上 d代表类型只能是数字
    'my/:id$'=>'Index/index',// 加上$说明地址中只能是 my/1000 后面不能有其他内容了
    2.正则表达式配置路由
    '/^year/(d{4})/(d{2})/(d{2})/'=>'Index/index?year=:1&month=:2&date=:3'
    3、注意事项:
    1.越复杂的路由越往前面放
    'URL_ROUTE_RULES'=>array(
    'my/:year/:month:/:day'=>'Index/day',
    'my/:idd'=>'Index/index',
    'my/:name'=>'Index/index',
    )
    2.可以使用$作为完全匹配的路由规则
    'URL_ROUTE_RULES'=>array(
    'my/:idd$'=>'Index/index',
    'my/:name$'=>'Index/index',
    'my/:year/:month:/:day$'=>'Index/day',
    ),
    3.用正则匹配的方式
    'URL_ROUTE_RULES'=>array(
    '/^my/(d+)$/'=>'Index/index?id=:1',
    '/^my/(w+)$/'=>'Index/index?name=:1',
    '/^my/(d{4})/(d{2})/(d{2})$/'=>'Index/day?year=:1&month=:2&day=:3',
    ),

    四、URL重写
    五、URL生成

    #
    # ThinkPHP 3.1.2 URL
    #
    讲师:赵桐正
    微博:http://weibo.com/zhaotongzheng

    本节课大纲:
    一、多应用配置技巧
    二、使用分组
    三、页面跳转
    $this->success('查询成功',U('User/test'));
    $this->redirect('User/test','',5,'页面正在跳');
    四、Ajax技巧

  • 相关阅读:
    【转】Android中自动连接到指定SSID的Wi-Fi
    【转】多文件目录下makefile文件递归执行编译所有c文件
    Android NDK R9d 安装
    【转】第一个MiniGUI程序:模仿QQ界面
    FFmpeg缩放swscale详解 <转>
    【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计
    【转】TI-Davinci开发系列之六CCS5.2调试Linux内核
    【转】ffserver用法小结
    【转】Android HAL实例解析
    【转】DM8168图像处理Link
  • 原文地址:https://www.cnblogs.com/suihui/p/3203417.html
Copyright © 2011-2022 走看看