zoukankan      html  css  js  c++  java
  • 8.2 tp5 入口文件和路由

    1、入口文件访问优化

    1) 在public文件夹下建立 admin.php文件

    2) 打开admin.php文件,复制

        // 定义应用目录

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

    // 加载框架引导文件

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

    3) 分别在两个入口文件中绑定模块

    Public/index.php => define('BIND_MODULE', 'index'); 

    Public/admin.php => define('BIND_MODULE','admin' );

         之前的访问

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

         修改后的访问(省略了模块项)

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

          入口文件   控制器  方法  

    4)隐藏入口文件

       Apache的配置过程,可以参考下:
          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

    5 设置路由  动态单个注册(TP5 hinkphplibrary hinkRoute.php)中的rule()方法

    ====================index.php==========================

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    
    // [ 应用入口文件 ]
    
    // 定义应用目录
    define('APP_PATH', __DIR__ . '/../application/');
    define('BIND_MODULE', 'index'); 
    // 加载框架引导文件
    require __DIR__ . '/../thinkphp/start.php';

    =========================admin.php===========================

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    
    // [ 应用入口文件 ]
    
    // 定义应用目录
    define('APP_PATH', __DIR__ . '/../application/');
    define('BIND_MODULE','admin' );
    // 加载框架引导文件
    require __DIR__ . '/../thinkphp/start.php';

    ================.htaccess文件================

    <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>

    ================route.php=======================

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    
    /*return [
        '__pattern__' => [
            'name' => 'w+',
        ],
        '[hello]'     => [
            ':id'   => ['index/hello', ['method' => 'get'], ['id' => 'd+']],
            ':name' => ['index/hello', ['method' => 'post']],
        ],
    
    ];*/
    use thinkRoute;
    //Route ::rule('index','index/index');
    Route ::rule('test','Index1/test');
    Route ::rule('get','Index1/getFunc');
  • 相关阅读:
    Auto-Test 要点纪录(一)
    终端应用变身文件 MD5/SHA1 校验工具
    MD5 algorithm in Objective C
    iphone开发-SQLite数据库使用
    【React】354- 一文吃透 React 事件机制原理
    【Web技术】353- CDN 科普
    【CSS】352- 有趣的CSS弹跳动画
    【Vuejs】351- 带你解析vue2.0的diff算法
    【每周小回顾】7- 一起回顾上周精彩内容
    【Vuejs】350- 学习 Vue 源码的必要知识储备
  • 原文地址:https://www.cnblogs.com/sunhao1987/p/9410282.html
Copyright © 2011-2022 走看看