入口绑定是指在应用的入口文件中绑定某个模块,甚至还可以绑定某个控制器和操作,用来简化URL地址的访问。

绑定模块

例如,我们定义了一个入口文件admin.php,希望可以直接访问Admin模块,那么我们就可以在admin.php中进行模块绑定,定义如下:

  1. // 绑定访问Admin模块
  2. define('BIND_MODULE','Admin');
  3. // 定义应用目录
  4. define('APP_PATH','./Application/');
  5. require './ThinkPHP/ThinkPHP.php';

在3.2.0版本中常量定义需要改成:

  1. $_GET['m'] = 'Admin';

在入口文件中绑定模块后,访问的URL地址中就不需要传入模块名称了。
假设我们要访问Admin模块的Index控制器的test操作方法,访问地址如下: http://serverName/admin.php/Index/test/var/name 如果访问 http://serverName/admin.php/Admin/Index/test/var/name 就会出现下面的错误提示:

绑定控制器

和绑定模块一样,我们还可以绑定控制器(一般是和模块绑定结合使用)。 例如:

  1. // 绑定访问Admin模块
  2. define('BIND_MODULE','Admin');
  3. // 绑定访问Index控制器
  4. define('BIND_CONTROLLER','Index');
  5. // 定义应用目录
  6. define('APP_PATH','./Application/');
  7. require './ThinkPHP/ThinkPHP.php';

我们前面的URL访问就可以换成: http://serverName/admin.php/test/var/name

在3.2.0版本中常量定义需要改成:

  1. $_GET['m'] = 'Admin';
  2. $_GET['c'] = 'Index';

绑定操作

原则上,我们还可以在入口文件中绑定操作(虽然这种情况实际使用中不多见)。直线电机厂家

  1. // 绑定访问Admin模块
  2. define('BIND_MODULE','Admin');
  3. // 绑定访问Index控制器
  4. define('BIND_CONTROLLER','Index');
  5. // 绑定访问test操作
  6. define('BIND_ACTION','test');
  7. // 定义应用目录
  8. define('APP_PATH','./Application/');
  9. require './ThinkPHP/ThinkPHP.php';

我们前面的URL访问就可以换成: http://serverName/admin.php/var/name

3.2.0版本不支持操作绑定。

thinkphp 入口绑定的更多相关文章

  1. Thinkphp3.2 入口绑定问题记录

    // 应用入口文件 // 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); ...

  2. ubuntu-apache下隐藏thinkphp入口文件index.php

    按照thinkphp手册中来讲,apache服务器下,隐藏thinkphp入口文件有3步: httpd.conf配置文件中加载了mod_rewrite.so模块 AllowOverride None ...

  3. Thinkphp --- 入口文件

    通常入口文件是 index.php <?php define('APP_DEBUG',true); //define('BIND_MODULE','Home'); 这句代码会自动生成Home模块 ...

  4. thinkphp入口文件

    ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口. 应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的. 入口文件定 ...

  5. 第一个thinkphp入口文件

    ThinkPHP3.1.3_full已下载 网站根目录下编辑一个入口文件index.php <?php define('APP_NAME','Index'); //项目名称 define('AP ...

  6. ThinkPHP 参数绑定原理

    ThinkPHP里有一个参数绑定的功能 想自己试着写一个类似的 主要利用到PHP里的反射的API <?php class Index { public function edit($id=0) ...

  7. thinkphp 参数绑定

    参数绑定是指绑定一个参数到预处理的SQL语句中的对应命名占位符或问号占位符指定的变量,并且可以提高SQL处理的效率,需要数据库驱动类的支持,目前只有PDO和Sqlsrv驱动支持参数绑定功能. 富瑞华大 ...

  8. thinkphp 操作绑定到类

    定义 ThinkPHP3.2版本提供了把每个操作方法定位到一个类的功能,可以让你的开发工作更细化,可以设置参数ACTION_BIND_CLASS,例如: 'ACTION_BIND_CLASS' =&g ...

  9. Thinkphp源码分析系列(一)–入口文件

    正如官方文档上所介绍的,thinkphp使用单一入口,所有的请求都从默认的index.php文件进入.当然不是说一定非得从index.php进入,这应该取决于你的服务器配置,一般服务器都会有默认的首页 ...

随机推荐

  1. jquery控件-实现自定义样式的弹出窗口和确认框(转)

    (function () { $.MsgBox = { Alert: function (title, msg) { GenerateHtml("alert", title, ms ...

  2. mysql 中字符串拼接,查询sql语句总结

    DELIMITER $$ USE `ld_wpfmgl_sys`$$ DROP PROCEDURE IF EXISTS `code_query`$$ CREATE DEFINER=`root`@`%` ...

  3. PHP中session存储及删除变量的方法

    Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用.但是session会话信息是临时的,在用户离开网站后就会被删除.如果需要永久储存信息,就需要把数据存储在数据库中. < ...

  4. list去重jdk1.8

    List<Object> newList = ll.stream().distinct().collect(Collectors.toList()); //jdk8去重操作

  5. 【dart学习】-- Dart之类和对象

    一,概述 类(Class)是面向对象程序设计,实现信息封装的基础.类是一种用户定义的类型.每个类包含数据说明和一组操作数据或传递消息的函数.类的实例称为对象. Dart的类与其它语言都有很大的区别,比 ...

  6. 快速求排列C(m,n)加取模

    快速求排列组合C(m,n)%mod 写在前面: 1. 为防止产生n和m的歧义,本博文一律默认n >= m 2. 本博文默认mod = 10^6+3 3. 本博文假设读者已知排列组合公式 C(m, ...

  7. 思维构造+匹配——cf1199E

    直接枚举每条边,如果边加到图中后还是个匹配图,就直接加,反之就不加 这样加完所有边后,剩下的点必定可以组成一个独立集:因为如果剩下的点中还有互相匹配的,那么这对点应该在加边时就被算到匹配图中 所以要么 ...

  8. Linux环境安装PHP链接SQLserver2008

    网上很多介绍,但是跟着做总是有问题,找到一个大神的,没出现过问题: 1.首先需要编译安装FreeTDS 1.1.安装 说明:一定要从官网下载最新的版本FreeTDS-0.95 ftp://ftp.fr ...

  9. [NOIP模拟测试9]题(Problem) 题解 (组合数全家桶+dp)

    达哥送分给我我都不要,感觉自己挺牛批. $type=0:$ 跟visit那题类似,枚举横向移动的步数直接推公式: $ans=\sum C_n^i \times C_i^{\frac{i}{2}} \t ...

  10. [SCOI2009]迷路(矩阵快速幂) 题解

    Description windy在有向图中迷路了. 该有向图有 N 个节点,windy从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1. 现在给出该有向图,你能告诉windy总共有多少种不同 ...