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控制器

 

 

    

  三、空方法

   

相关文章
相关标签/搜索