ThinkPHP入门-1

作者: JONE 分类: PHPer 发布时间: 2017-09-19 22:50

1.ThinkPHP部署

  1. 创建index.php文件
     <?php 
     // 开启调试模式
     define('APP_DEBUG',True);
    
     // 定义应用目录
     define('APP_PATH','./Application');
    
     // 引入ThinkPHP
     require '../ThinkPHP/ThinkPHP.php';
    
     ?>
    
  2. 访问index.php 会在同级目录生成一个Application
    Common 配置文件夹
    Home 模块文件夹
    Runtime 项目运行时临时存储地址

2. 创建控制器

  1. 在Home模块创建控制器Index类index方法
     <?php 
     // 创建命名空间
     namespace \Home\Controller;
     // 引入Controller基类
     use Think\Controller;
     // 创建控制器类
     class IndexController extends Controller
     {
         public function index()
         {
                  echo '这是首页';
         }
     }
     ?>
    
  2. 控制器代码创建规则
    1. 设置命名空间
    2. 引入TP控制器基类
    3. 创建自己的控制器类(类名与当前文件名要保持一致)
    4. 创建自己的方法

3. 四种URL模式

  1. 普通模式
    m=模块,c=控制器,a=方法
    http://tp.com/index.php?m=Admin&c=Index&a=index
  2. pathinfo模式
    Admin=>模块, Index=>控制器, index=>方法 ,$_GET传值key=value
    http://tp.com/index.php/Admin/Index/index/key/value
  3. URL重写
    3.1. 修改Apache主配置文件开启重写机制

     LoadModel rewrite_model modules/mod_rewrite.so
    

    3.2. 修改虚拟机主配置 ,All标识可以重写

     Allowoverride All
    

    3.3. .htaccess文件

     <IfModule mod_rewrite.c>
       Options +FollowSymlinks
       RewriteEngine On
    
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteCond %{REQUEST_FILENAME} !-f
      # RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  #5.6以下版本使用方式
    
     # 5.6以上版本 
     RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
    
     </IfModule>
    

4. TP的调试模式

    // 开启调试模式
    define('APP_DEBUG',True);

5. TP中的配置项

惯例配置>应用配置>模式配置
惯例配置 ThinkPhp->Conf->convention.php
应用配置 Application->Common->Conf->config.php
模式配置 Application->Home->Conf->config.php

6. TP中创建模块

在APPlicaton文件夹中创建Admin文件夹
在Admin文件夹中创建Controller、Model、View三个文件夹

7. 页面跳转与重定向

  1. 页面跳转
    success与error
    $this->success(‘访问成功’,’/’,10);
  2. 页面重定向
    $this->redirect(‘/Admin/index/index’,’name=jone’,10);

8. 空操作与空控制器

  1. 空方法
    public function _empty()
    
     {
    
     echo "这是404页面";
     }
  2. 空控制器
     class EmptyController extends Controller
    
     {
    
     }
  3. 解决空控制器报错
     
    class EmptyController extends Controller
    {
    public function _empty()
     {
         echo "这是404页面";
     }
    
    }