Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
DoYouHaoBaby 框架基于模块和操作的方式进行访问,由于DoYouHaoBaby 框架的应用采用单一入口文件来执行,因此网站的所有的模块和操作都通过URL的参数来访问和执行。这样一来,传统方式的文件入口访问会变成由URL的参数来统一解析和调度。
DoYouHaoBaby强大的URL解析、调度以及路由功能为这个功能实现提供了有力的保证,DoYouHaoBaby 参考了Zend Framework 的服务器兼容,同时DoYouHaoBaby融合了ThinkPHP的优良的体验,使得程序几乎在任何的服务器环境里面部署成功。
DoYouHaoBaby支持的URL模式包括普通模式、PATHINFO模式、REWRITE模式和兼容模式,并且都提供路由支持。默认为PATHINFO 模式,提供最好的用户体验和搜索引擎友好支持。
(a):例如普通模式下面的URL为:
http://localhost/doyouhaobaby/TestApp/index.php?c=ControllerName&a=actionName&id=1
(b):如果使用PATHINFO模式的话,URL成为:
http://localhost/doyouhaobaby/TestApp/index.php/ControllerName/actionName/id/1/
注意: PATHINFO模式对以往的编程方式没有影响,GET 和POST方式传值依然有效,因为系统会对PATHINFO 方式自动处理,例如上面URL地址中的id的值可以通过 $_GET[ 'id' ] 的方式正常获取到。
(c):如果使用REWRITE模式,通过配置URL可以成为:
http://localhost/doyouhaobaby/TestApp/index.php/ControllerName/actionName/id/1/
(d):如果使用兼容模式,通过配置URL可以成为:
http://localhost/doyouhaobaby/TestApp/index.php?s=/ControllerName/actionName/id/1/
例如上面生成的TestApp项目如果我们通过下面的URL访问:
http://localhost/doyouhaobaby/TestApp/
其实是定位到TestApp项目的index 模块的index 操作,因为系统在没有指定模块和操作的时候,会执行默认的模块和操作,这个在DoYouHaoBaby的惯例配置里面是index模块和index操作。因此下面的URL和上面的结果是相同的:
http://localhost/doyouhaobaby/TestApp/index/index/
通过项目配置参数,我们可以改变这个默认配置。
- // 默认控制器
- G::C( 'DEFAULT_CONTROL' )
- // 默认方法
- G::C( 'DEFAULT_ACTION' )
系统还支持分组模式和URL路由的功能,这些都能够带来URL的不同体验。
系统通过G::U 这个静态方法和一些常量__URL__等来生成标准化的URL 地址,这个后面会讲解。
