0802THINKPHP基礎:入口文件、路由、頁面跳轉、重定向、空模塊、空控制器、空方法

1、入口文件訪問優化php

  入口文件index.php:只能去前臺模塊thinkphp

  入口文件admin.php:只能去後臺模塊app

  一、在public文件夾下創建admin.php文件框架

  二、打開admin.php文件,複製iview

  //定義應用目錄ide

  define('APP_PATH', __DIR__ . '/../application/');優化

  //加載框架引導文件ui

  require __DIR__ . '/../thinkphp/start.php';this

  三、分別在兩個入口文件中綁定模塊url

  index.php文件中綁定define('BIND_MODULE', 'index'); 

  admin.php文件中綁定define('BIND_MODULE','admin' );

  以前的訪問

       Index.php/index/Index/index   admin.php/admin/Index/index

       修改後的訪問(省略了模塊項)

       Index.php/Index/index         admin.php/Index/index  (入口文件)、(控制器)、(方法)

  四、隱藏入口文件 

  pache的配置過程,能夠參考下:
       a、httpd.conf配置文件中加載了mod_rewrite.so模塊

 

       b、AllowOverride None None改成 All  在虛擬主機中把這一項改成All

  c、在應用入口文件同級目錄添加.htaccess文件,內容以下:

 

    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  其中的index.php就是入口文件,     若是隱藏後臺的入口文件  則改爲admin.php

    所有文件:

    <IfModule mod_rewrite.c>

    Options +FollowSymlinks -Multiviews

    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

    </IfModule>

  d、重啓服務

    url地址變化:

    隱藏前:http://www.thinkphp.com/index.php/index/index

    隱藏後:http://www.thinkphp.com/index/index

2、設置路由

  動態單個註冊(TP5\thinkphp\library\think\Route.php)中的rule()方法

  一、打開路由文件

    C:\yingyongchengxu\wamp\tp5\application\route.php

  二、設置路由文件

    引入系統類

    use think\Route;

    定義路由規則、設置路由以後就不能使用pathinfo訪問了

    未綁定入口文件:Route::rule('newname','index/index/index');

    已綁定入口文件:Route::rule('newname','index/index');

 3、頁面跳轉

1、方法存在的文件路徑

  TP5\thinkphp\library\traits\controller\Jump.php

  成功跳轉  $this->success();

  失敗跳轉  $this->error();

2、以登陸功能爲例:

三、成功和失敗頁面的文件路徑配置  application/config.php

  // 默認跳轉頁面對應的模板文件

  'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',  

  'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',

  模板文件的路徑:thinkphp\tpl\dispatch_jump.tpl

  也能夠本身指定模板,而後本身設計就能夠

  'dispatch_success_tmpl'  => THINK_PATH . 'tpl' . DS . 'success.tpl',

  'dispatch_error_tmpl'    => THINK_PATH . 'tpl' . DS . 'error.tpl',、

4、重定向

5、空模塊、空控制器、空方法

 

  對於url中的惡意輸入

 

  一、空模塊:在application/route.php添加

 

  全局MISS路由
  '__miss__' => ['index/Index/index', ['method'=> 'get']],

  二、空控制器  新建Error控制器

 

 

    

  三、空方法

   

相關文章
相關標籤/搜索