thinkphp如何建立common控制器

我想Admin和Home两个模块公用一个Common,应该怎么写
2024-12-14 14:03:37
推荐回答(4个)
回答1:

┎━ThinkPHP 框架系统目录┃ ┝ ThinkPHP.php 系统公共文件┃ ┝ Common 公共文件目录┃ ┝ Tpl 框架系统模版目录┃ ┝ Lang 系统语言包目录┃ ┝ PlugIns 公共插件目录┃ ┗ Lib 系统基类库目录┃ ┝ Think 系统运行库(必须)┃ ┝ Com 扩展类库包(非必须)┃ ┗ ORG 扩展类库包(非必须) ┃┝━Application 应用目录、项目目录┃ ┝ index.php 项目入口文件(可任意放置)┃ ┝ Cache 模版缓存目录┃ ┝ Common 公共文件目录(非必须)┃ ┝ Conf 项目配置目录┃ ┝ Data 项目数据目录┃ ┝ Html 静态文件目录(非必须)┃ ┝ PlugIns 插件目录(非必须)┃ ┝ Tpl 模版文件目录┃ ┝ Lang 语言包目录(非必须)┃ ┝ Logs 日志文件目录┃ ┝ Temp 数据缓存目录┃ ┗ Lib 应用类库目录┃ ┝ Action 控制器(模块)类目录┃ ┝ Model Model 类文件目录┃ … 下面的应用目录可根据需要选择和定义┃ ┝ Exception 异常类库目录┃ ┝ Common 公共应用类目录┃ ┗ Help 助手类目录┃┃…更多项目目录(和App 目录类似,每个项目采用独立目录,便于部署)┃┝━Public 网站公共目录(多项目公用)┃ ┝ Js JS 类库目录(建议)┃ ┝ Images 公共图像目录(建议)┃ ┗ Uploads 公共上传目录(建议)

我的“F:\PHP\Application”目录下有个“home”目录,这是ThinkPHP自动生成的一个控制器,
主要文件是“F:\PHP\Application\Home\Controller\IndexController.class.php”,文件内容如下图:
在地址栏输入“http://localhost/index.php”,回车,看到的内容,就是这个文件中“Index”函数中的内容。

访问规则
就“home”目录下的控制器举例,您可以通过以下URL地址访问:
http://localhost/index.php
http://localhost/index.php/Home
http://localhost/index.php/Home/Index
http://localhost/index.php/Home/Index/Index

创建第一个控制器
在“F:\PHP\Application”目录下新建一个目录“Index”,偷个赖,把“F:\PHP\Application\Home”目录下的内容都复制
到“F:\PHP\Application\Index”目录下,打开“F:\PHP\Application\Index\Controller\IndexController.class.php”文件,
为了确定访问的确实是我们新加的内容,在“Index”函数中添加点东西,代码如下:

试试通过以下URL地址访问吧:http://localhost/index.php/Index

http://localhost/index.php/Index/Index
http://localhost/index.php/Index/Index/Index

修改惯例配置
ThinkPHP的默认模块名称是“Home”,也就是说如果你在浏览器地址栏中输入“http://localhost/index.php”的话,默认访问的是“http://localhost/index.php/Home”。
修改方法:用文本编辑工具打开“F:\PHP\ThinkPHP\Conf\convention.php”文件,
修改第44行为:'DEFAULT_MODULE' => 'Index', // 默认模块

回答2:

直接在common下面创建一个common.php的文件就好了,这个common下的文件应该都是公用的吧,不管你是前台,或者后台都可以直接使用,在common.php定义的方法或者类

回答3:

查阅手册里的模块化设计。

回答4:

不是有A方法吗?