thinkphp3(结构 路由 模板的调用 后台搭建 系统常量)

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 中,如果我们需要搭建后台管理系统,可以通过如下步骤进行:

  1. Application 目录下新建一个名为 Admin 的目录,作为后台管理系统的模块。
  2. 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 表示方法名。

  1. Application/Admin/Controller 目录下创建新的控制器,例如:
class UserController extends \Think\Controller {
    public function login() {
        $this->display();
    }
}

上面的代码意味着,我们需要创建一个 User 控制器,并在其中定义一个名为 login 的方法。这个方法仅仅是加载一个模板文件 Application/Admin/View/User/login.tpl

  1. 最后,编写模板文件 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技术站

(0)
上一篇 2023年3月29日
下一篇 2023年3月29日

相关文章

  • javascript 命名规则 变量命名规则

    JavaScript命名规则 在JavaScript中,命名规则是指给变量、函数、对象等命名时需要遵循的规则。遵循良好的命名规则可以提高代码的可读性和可维护性。下面是JavaScript的命名规则的详细攻略。 变量命名规则 1. 变量名必须以字母、下划线或美元符号开头 变量名必须以字母(大小写均可)、下划线或美元符号开头。不能以数字或其他特殊字符开头。 示例…

    other 2023年8月8日
    00
  • SublimeText3配置PHP函数追踪定位插件

    下面是SublimeText3配置PHP函数追踪定位插件的完整攻略: 准备工作 首先你需要安装SublimeText3和插件控制器Package Control,安装方法可以访问官网进行查看。 安装插件 打开SublimeText3,使用快捷键Ctrl+Shift+P打开命令面板,输入“Install Package”,等待列表加载完毕之后输入“PhpFun…

    other 2023年6月27日
    00
  • 微信小程序vant弹窗组件的实现方式

    下面是“微信小程序vant弹窗组件的实现方式”的完整攻略。 1. 引入vant组件库 首先,在微信小程序中引入vant组件库,可以通过以下步骤完成: 下载vant组件库的代码,可以在github上找到(https://github.com/youzan/vant-weapp)。 将下载的vant文件夹拷贝至小程序项目的根目录下。 在小程序的app.json文…

    other 2023年6月27日
    00
  • PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2

    “PHP和MysqlWeb应用开发核心技术”一书是一本非常实用的PHP和MySQL开发参考资料,其中第一部分Php基础第三章讲解了代码组织和重用的相关知识,下面将为大家详细讲解具体攻略。 代码组织和重用 文件包含 在PHP中,可以通过include和require语句将一个PHP文件引入到另一个PHP文件中。使用include或require语句可以将一个P…

    other 2023年6月26日
    00
  • 如何检查Mac电脑中有32位元软体 macOS Catalina升级前检查32位元软件方法

    如何检查Mac电脑中有32位元软体 在升级到macOS Catalina之前,你可以通过以下步骤检查你的Mac电脑中是否存在32位元软件。macOS Catalina不再支持32位元软件,因此在升级之前,你需要确保所有的软件都是64位元的。 步骤一:打开“关于本机” 首先,你需要打开“关于本机”窗口,以查看你的Mac电脑的系统信息。 点击屏幕左上角的苹果图标…

    other 2023年7月28日
    00
  • Windows7更新补丁KB4022719下载地址 (附KB4022719补丁修复更新内容) 32位/64位

    Windows 7 更新补丁 KB4022719 下载地址 (附 KB4022719 补丁修复更新内容) 32 位/64 位攻略 1. 简介 Windows 7 更新补丁 KB4022719 是微软发布的一个重要安全补丁,用于修复系统中的漏洞和提升系统的稳定性。本攻略将详细介绍如何下载和安装该补丁,并提供一些示例说明。 2. 下载地址 你可以从微软官方网站下…

    other 2023年7月28日
    00
  • unitygc优化要点

    UnityGC优化要点 UnityGC是Unity引擎的垃圾回收机制,它负责回收不再使用的内存,以避免内存泄漏和内存溢出。在开发Unity游戏时,优化UnityGC是非常重要的,因为它直接影响游戏的性能和稳定性。本文将介绍UnityGC的优化要点,并提供两个示例说明。 优化要点 以下是优化UnityGC的要点: 减少对象的创建和销毁 对象的创建和销毁是Uni…

    other 2023年5月8日
    00
  • adb push中文路径文件名丢失后缀的解决方法

    以下是详细的“adb push中文路径文件名丢失后缀的解决方法”的攻略: 问题描述 在使用adb push命令把文件推送到Android设备时,如果文件路径或文件名包含中文字符,就可能会出现文件名丢失后缀的情况。 原因分析 这是因为adb命令默认使用的是ASCII编码,而中文字符无法直接使用ASCII编码进行传输,因此就会出现丢失后缀的情况。 解决方法 方法…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部