S1开发手册
前言
安装
规范
目录结构
框架
程序执行流程
入口文件
验证架构
验证架构
验证架构
验证架构
验证架构
应用模块
依赖注入
控制器架构
逻辑架构
验证架构
模型架构
行为架构
插件架构
服务架构
数据操作
系统常用配置
系统常用常量
系统常用函数
模块开发
模板制作
基础操作
本文档使用
零起飞
构建
基础操作
本文最后编辑时间:
2023-08-02 08:54:02
热度:
606
# 1、入口文件 ThinkPHP5.0版本的默认自带的入口文件位于public/index.php(实际部署的时候public目录为你的应用对外访问目录) # 2、资源访问 网站的资源文件访问不会影响正常的操作访问,只有当访问的资源文件不存在的时候才会解析到入口文件,一般就会提示模块不存在的错误。网站的资源文件一般放入public目录的子目录下面,例如下面是一个建议规范: 根据模块名称分别存放,以便多个模块文件的区分 ![图片alt](/upload/picture/20230802/45db3b03d34dbef0a24f47d5ec88a8e4.png ''图片title'') 记住,千万不要在public目录之外的任何位置放置资源文件,包括application目录。 访问资源文件的URL路径是: http://tp5.com/static/css/style.css http://tp5.com/static/js/common.js http://tp5.com/static/img/picture.jpg 当然,你也可以更改资源文件的URL路径,在config.php中配置如下: ```php // 视图输出字符串内容替换 'view_replace_str' => [ '__static__' => '/static' ], ``` 访问资源文件的改变后URL路径是:
# 3、调试模式 ThinkPHP支持调试模式,默认情况下是开启状态(5.0.10+版本开始,默认关闭调试模式,需要自己开启)。调试模式以除错方便优先,而且在异常的时候可以显示尽可能多的信息,所以对性能有一定的影响。(调试模式不支持模块单独开启,只能应用全局开启) 开发完成后,我们实际进行项目部署的时候,修改应用配置文件(app/config.php)中的app_debug配置参数: // 关闭调试模式'app_debug' => false, 为了安全考虑,避免泄露你的服务器WEB目录信息等资料,一定记得正式部署的时候关闭调试模式。 # 4、控制器 如果要访问一个驼峰命名的控制器,例如我们把上面的例子改成一个HelloWorld控制器。 ```php ``` 默认情况下正确的方法是使用下面的URL进行访问 http://tp5.com/index.php/index/hello_world 下面的访问地址是错误的 http://tp5.com/index.php/index/HelloWorld 当然也可以区分大小写访问,在config.php文件中,设置了关闭url自动转换如下 ```php 'url_convert' => false, ``` 5、URL访问 ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作,下面是一个标准的URL访问格式: http://domainName/index.php/模块/控制器/操作 模块在ThinkPHP中的概念其实就是应用目录下面的子目录,而官方的规范是目录名小写,因此模块全部采用小写命名,无论URL是否开启大小写转换,模块名都会强制小写。 应用的index模块的Index控制器定义如下: ```php ``` 如果我们直接访问入口文件的话,由于URL中没有模块、控制器和操作,因此系统会访问默认模块(index)下面的默认控制器(Index)的默认操作(index),因此下面的访问是等效的: http://tp5.com/index.php http://tp5.com/index.php/index/index/index 如果要访问控制器的hello方法,则需要使用完整的URL地址 http://tp5.com/index.php/index/index/hello # 6、隐藏入口 可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。 以Apache为例,需要在public下的同级添加.htaccess文件(官方默认自带了该文件),内容如下: 如果用的phpStudy,规则如下: >
Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
接下来就可以使用下面的URL地址访问了 http://tp5.com/index/index/index http://tp5.com/index/index/hello
零起飞网络版权所有