• ThinkPHP笔记


    项目目录结构

    ├─index.php     项目入口文件
    ├─Common 项目公共文件目录
    ├─Conf 项目配置目录
    ├─Lang 项目语言目录
    ├─Lib 项目类库目录
    │  ├─Action Action类库目录
    │  ├─Behavior 行为类库目录
    │  ├─Model 模型类库目录
    │  └─Widget Widget类库目录
    ├─Runtime 项目运行时目录
    │  ├─Cache 模板缓存目录
    │  ├─Data 数据缓存目录
    │  ├─Logs 日志文件目录
    │  └─Temp 临时缓存目录
    └─Tpl 项目模板目录

    一. index.php入口文件:

    <?php
    define('APP_DEBUG',TRUE); // 开启调试模式
    require '/ThinkPHP框架所在目录/ThinkPHP.php';

    二. controller层:

    例如:Lib/Action/IndexAction.class.php

    <?php
    
    class IndexAction extends Action {
        public function index(){
            echo 'hello,world!';
        }
    }

    三.  URL请求

    ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式。

    普通模式

      也就是传统的GET传参方式来指定当前访问的模块和操作,例如:

      http://localhost/app/?m=module&a=action&var=value

    m参数表示模块,a操作表示操作(模块和操作的URL参数名称是可以配置的),后面的表示其他GET参数。

    PATHINFO模式

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

      http://localhost/app/index.php/module/action/var/value/

      PATHINFO地址的第一个参数表示模块,第二个参数表示操作。
      PATHINFO模式下面,URL是可定制的,例如,通过下面的配置:
    'URL_PATHINFO_DEPR'=>'-', // 更改PATHINFO参数分隔符

      我们还可以支持下面的URL访问:http://localhost/app/index.php/module-action-var-value/

    REWRITE模式

      是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。
    如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:

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

      接下来,就可以用下面的URL地址访问了:http://localhost/app/module/action/var/value/

    兼容模式

      是用于不支持PATHINFO的特殊环境,URL地址是:

      http://localhost/app/?s=/module/action/var/value/

      兼容模式配合Web服务器重写规则的定义,可以达到和REWRITE模式一样的URL效果。

     四、视图

    Tpl/模块名/操作名.html,例如:Tpl/Index/index.html

    <html>
     <head>
       <title>hello {$name}</title>
     </head>
     <body>
        hello, {$name}!
     </body>
    </html>
    class IndexAction extends Action {
        public function index(){ 
            $this->name = 'thinkphp'; // 进行模板变量赋值
            $this->display();
        }
    }
  • 相关阅读:
    程序员需要看的书
    linux常见命令实践.
    数据库使用简单总结
    剑指offer【书】之简历抒写
    面试中自己项目和你应该问的问题环节总结
    Matlab近期用到的函数(持续更新)
    排序-快速排序算法
    系统运维-hub, repeater, switch, router初览
    C++基础-位运算
    排序-冒泡排序
  • 原文地址:https://www.cnblogs.com/langtao/p/3120545.html
Copyright © 2020-2023  润新知