thinkphp3:结构、路由、模板的调用、后台搭建和系统常量
ThinkPHP 3 是一款基于 MVC 设计模式的 PHP 开发框架,是国内最流行的 PHP 框架之一。它采用了优秀的设计理念和良好的代码结构,非常适合企业级 Web 应用开发。本篇文章将介绍 ThinkPHP 3 框架的结构、路由、模板的调用、后台搭建和系统常量。
结构
ThinkPHP 3 框架包含的文件结构非常清晰,具体如下:
├─ Application
│ ├─ Common
│ ├─ Home
│ └─ Admin
├─ Data
├─ Public
├─ ThinkPHP
├─ index.php
├─ .htaccess
├─ README.txt
其中,Application
目录是存放应用程序的目录,Common
目录存放通用模块和方法,Home
目录存放前台模块,而 Admin
则存放后台模块。Data
目录是存放数据文件的,Public
目录是存放公共资源的(如图片、样式等),ThinkPHP
目录是框架核心文件的存放位置。
路由
路由是指根据请求 URL 地址中的参数,将请求转发到不同的 Controller 的过程。ThinkPHP 3 默认的路由是基于参数匹配的,而最新的 ThinkPHP 5 则是基于注解路由的。对于 ThinkPHP 3,我们可以在 Application/Common/Conf/config.php
文件中进行路由的配置,比如:
'URL_ROUTER_ON' => true, // 开启路由
'URL_ROUTE_RULES' => array(
'blog/:id' => 'Blog/detail',
'blog/:year\d/:month\d/:day\d' => 'Blog/archive',
),
上面的配置意味着,当用户访问 http://www.example.com/blog/123
时,框架会自动调用 Blog
模块中的 detail
方法;当用户访问 http://www.example.com/blog/2019/10/01
时,框架会自动调用 Blog
模块中的 archive
方法。当然,我们也可以自己编写正则表达式进行更复杂的参数匹配。
模板的调用
模板引擎是指将数据和模板文件进行混合,生成最终 HTML 输出结果的程序。在 ThinkPHP 3 框架中,我们默认使用的是 Smarty
模板引擎。
要使用模板引擎,需要在控制器中调用 View
类,例如:
$view = new \Think\View();
$view->assign('name', 'ThinkPHP');
$view->display('Index/hello');
上面的代码意味着,向 Index
控制器中的 hello
方法传递了一个名为 name
的参数,并将其赋值为 ThinkPHP
。然后,框架会自动查找 Application/Home/View/Index/hello.tpl
文件(因为当前是 Home 模块)并将其中的参数进行解析和替换,生成最终的 HTML 输出结果。
后台搭建
在 ThinkPHP 3 中,如果我们需要搭建后台管理系统,可以通过如下步骤进行:
- 在
Application
目录下新建一个名为Admin
的目录,作为后台管理系统的模块。 - 在
Application/Admin/Conf/config.php
文件中进行路由的配置,如下所示(路由规则与前面大致相同):
'URL_ROUTER_ON' => true,
'URL_ROUTE_RULES' => array(
'admin/:controller/:action' => 'admin/:1/:2',
),
上面的配置意味着,当用户访问 http://www.example.com/admin/user/login
时,框架会自动调用 Admin
模块中的 User
控制器的 login
方法。其中,:controller
表示控制器名,:action
表示方法名。
- 在
Application/Admin/Controller
目录下创建新的控制器,例如:
class UserController extends \Think\Controller {
public function login() {
$this->display();
}
}
上面的代码意味着,我们需要创建一个 User
控制器,并在其中定义一个名为 login
的方法。这个方法仅仅是加载一个模板文件 Application/Admin/View/User/login.tpl
。
- 最后,编写模板文件
Application/Admin/View/User/login.tpl
即可。
系统常量
在 ThinkPHP 3 中,我们可以通过 $Think
对象来访问系统常量和变量。例如:
$Think.WEB_URL
:Web 根地址。$Think.APP_NAME
:当前应用名称。$Think.CACHE_PATH
:缓存路径。$Think.TMPL_PATH
:模板路径。
我们还可以通过配置文件的方式来定义自己的常量。
以上就是有关 ThinkPHP 3 的结构、路由、模板的调用、后台搭建和系统常量的介绍。希望本篇文章可以对初学者有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:thinkphp3(结构 路由 模板的调用 后台搭建 系统常量) - Python技术站