入口绑定是指在应用的入口文件中绑定某个模块,甚至还可以绑定某个控制器和操作,用来简化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. mybatis group by查询返回map类型

    故事的发生是这样的. . . . . . . 一天 我发现我们的页面显示了这样的汇总统计数据,看起来体验还不错哦-- 然后,我发现代码是这样滴:分开每个状态分别去查询数量. 额e,可是为嘛不使用简单便 ...

  2. ANdroid手机屏幕反横向等参数设定

    经过我一番百度和看Android文档,我才发现,Android对旋转屏,特别是只有横屏或者竖屏虽重力旋转的支持是到Android4.3.1才有完美支持的 unspecified - 默认值,由系统选择 ...

  3. jquery实现表格复选框---多行选择问题(php变量)

    1.html多选框标签行 表头的多选框,用于全选,取消全选 <th><input id='allSelected' type="checkbox">< ...

  4. redis实现点击量/浏览量

    java+redis实现高性能新闻点击量更新 1.redis简单介绍.它用来做高性能数据存取 是极好的. 2.实例:新闻点击量. 1)每次刷新,我们并不一定要往数据库里面立即更新数据 2)可以在red ...

  5. 向量vector 容器浅析

    一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...

  6. appium自动化获取app的appPackage与appActivity方法总结

    一,获取apppackage 方法不止一种,我只介绍自己知道的两种. 1,通过APPIUM工具添加APK包后,会自动显示出来. 2,打开UI AUTOMATOR VIEWER 定位工具,随便指向一个定 ...

  7. Linux关闭端口

    1.  查看哪些端口被占用 $ netstat -anp | grep 2042 tcp 0 0 192.168.56.1:2042 0.0.0.0:* LISTEN 8974/python 2. 删 ...

  8. JAVA单元测试的用法和要点(入门篇)

    一.单元测试的目的?      单元测试是编写测试代码,用以检测特定的.明确的.细颗粒的功能!  严格来说,单元测试只针对功能点进行测试,不包括对业务流程正确性的测试.现在一般公司都会进行业务流程的测 ...

  9. web项目中实现页面跳转的两种方式

    <a href="javascript:"></a>跳转在网页本身,URL不改变 <a href="#"></a> ...

  10. ubuntu 无pthread

    由于学习多线程编程,所以用到pthread,但是man的时候却发现没有pthread函数库的手册页,然后安装 $sudo apt-get install glibc-doc 安装以后,发现还是有很多函 ...