ThinkPHP5基础入门

文章目录

ThinkPHP5基础入门

一、引言

ThinkPHP5 是一个基于 MVC 和面向对象的轻量级 PHP 开发框架,自2006年诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,尤其注重开发体验和易用性。本文旨在为初学者提供一个简洁明了的入门指南。

二、环境搭建

1、前期准备

  • 编程工具:推荐使用 PHPStorm 作为开发工具,服务器可以使用 phpStudy。
  • 下载安装 :从 ThinkPHP官网 下载最新版 ThinkPHP5,解压后放置到 phpStudy 的 WWW 目录下。

2、目录结构

ThinkPHP5 的目录结构遵循 MVC 设计模式,主要包含以下部分:

  • application:存放应用(模块)的目录。
  • public:对外访问的目录,包含入口文件 index.php
  • thinkphp:框架核心目录。
  • vendor:Composer 依赖目录。

三、快速上手

1、创建模块

application 下创建一个名为 index 的模块,该模块下包含 controllerviewmodel 目录。

2、编写控制器

application/index/controller 目录下创建 Index.php 文件:

php 复制代码
<?php
namespace app\index\controller;
use think\Controller;

class Index extends Controller
{
    public function index()
    {
        return 'Hello, ThinkPHP5!';
    }
}

3、编写视图

application/index/view 目录下创建 index.html 文件:

html 复制代码
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    <h1>{$content}</h1>
</body>
</html>

4、编写模型

application/index/model 目录下创建 User.php 文件:

php 复制代码
<?php
namespace app\index\model;
use think\Model;

class User extends Model
{
    // 定义时间戳字段名
    protected $createTime = 'create_time';
    protected $updateTime = 'update_time';
}

四、调试与部署

1、调试模式

开发阶段可以开启调试模式,以便在异常时显示更多信息:

php 复制代码
// application/config.php
'app_debug' => true,

2、关闭调试模式

部署时,关闭调试模式以提高性能并保护服务器信息:

php 复制代码
// application/config.php
'app_debug' => false,

3、隐藏入口文件

可以通过 .htaccess 文件隐藏 URL 中的 index.php

apache 复制代码
<IfModule mod_rewrite.c>
    Options +FollowSymlinks -Multiviews
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

五、总结

ThinkPHP5 提供了一个简洁、高效的开发体验,通过 MVC 设计模式,使得代码结构清晰,易于维护。通过本文的介绍,相信初学者可以快速上手 ThinkPHP5,开始自己的 PHP 开发之旅。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

相关推荐
龙哥·三年风水6 小时前
群控系统服务端开发模式-应用开发-个人资料
分布式·php·群控系统
Dingww101110 小时前
梧桐数据库中的网络地址类型使用介绍分享
数据库·oracle·php
Genius Kim14 小时前
SpringCloud Sentinel 服务治理详解
spring cloud·sentinel·php
原机小子18 小时前
城镇保障性住房管理:SpringBoot系统解决方案
数据库·spring boot·php
kali-Myon18 小时前
NewStarCTF2024-Week5-Web&Misc-WP
前端·python·学习·mysql·web安全·php·web
DK七七19 小时前
当今陪玩系统小程序趋势,陪玩系统源码搭建后的适用于哪些平台
小程序·php·uniapp
tekin1 天前
vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例
ide·vscode·php·launch.json·runtimeargs·php内置服务自定义参数
The_Ticker1 天前
PHP查询实时股票行情
开发语言·php·学习方法
y0ungsheep1 天前
CTF中的phar反序列化 [SWPU 2018]SimplePHP
运维·web安全·网络安全·php·代码规范
前端白袍2 天前
计算机网络:简述LAN口模式下NAT和代理的区别
网络·计算机网络·php