ThinkPHP 配置与使用

这篇博客介绍了ThinkPHP 3.2.3的下载、配置和使用,包括MVC模式的解释、入口文件配置、模型使用、URL访问方式以及调试模式的开启。同时,提到了一些常见的问题和解决建议,如使用IP而非localhost作为DB_HOST,以及处理验证码错误的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载地址:

新版本问题比较多,目前使用3.2.3的最高版本

http://www.thinkphp.cn  ,我这里选择下载的是3.2.3完整版

下载完后需要运行index.php文件,搭建项目

thinkPHP3.2.3完全开放手册:

https://www.kancloud.cn/manual/thinkphp/1678

ThinkPHP是MVC开发模式

M -Model 编写model类,对数据进行操作

V-View 编写html文件,页面呈现

C-Controller 编写类文件(xxx.class.php)

ThinkPHP入口文件配置

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<'))  die('require PHP > 5.3.0 !');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false,配置文件可以立即生效,没有缓存
define('APP_DEBUG',True);
// 定义应用目录
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';

 

config.php配置

文件路径:application/Home/Conf/config.php

 

'URL_PATHINFO_DEPR'=>'/',//修改url的分割符
'TMPL_L_DELIM'=>'<{',//修改左定界符
'TMPL_R_DELIM'=>'}>',//修改右定界符
//配置数据库普通配置方式
'DB_TYPE'=>'mysql',//数据库类型
'DB_HOST'=>'127.0.0.1',//主机名字
'DB_NAME'=>'testTP',//数据库的名字
'DB_USER'=>'root',//账号
'DB_PWD'=>'rootroot',//密码
'DB_PORT'=>'3306',//端口

 'DB_PREFIX'=>'tt_',//表前缀
//数据库简洁配置方式,如果两种都配置了,系统默认选择简洁方式读取
'DB_DSN'=>'mysql://root:rootroot@127.0.0.1:3306/testTP',//简洁的数据库配置,
'SHOW_PAGE_TRACE'=>true,//开启调试模式,可以在h5页面调试
'TMPL_TEMPLATE_SUFFIX'=>'.html',//修改view的后缀名规范
'TMPL_FILE_DEPR'=>'/',//修改模板文件目录层次
'DEFAULT_THEME'=>'index',//设置模板主题
'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
'THEME_LIST'=>'your,my',//支持的模板主题
'TMPL_PARSE_STRING'=>array(
     '__CSS__'=>'__ROOT__/public/css',
     '__JS__'=>'__ROOT__/public/js'
),//自定义模板变量规则

 

 

模型使用

控制器C

<?php
namespace Home\Controller; //模型所在的位置
use Think\Controller; //引用类文件
use Think\Model; //实例模型用new Model();方法的话需要引用这个类文件
class IndexController extends Controller {//控制器的命名规则一定要加Controller,类名对应View文件夹下面的Index文件夹
    public function index(){//方法名对应Index文件夹下的index.html
        $m = new Model('User');
        $m = M('User');
        $arr = $m->select();//调用数据库表数据下节课会详细讲解CURD        
        $this->assign("name", $arr);
        $this->assign("list", $arr);//通过assign方法给view输出数据
        $this->display(); //调用Index/index.html
    }
}

控制器更多使用可以查看:https://blog.youkuaiyun.com/HYQ_java/article/details/81127377

 

界面V

路径:Home/View/Index/index.html 。路径和控制器类名、方法名对应

<!DOCTYPE html>
<html>
<head>
	<title>标题</title>
</head>
<body>
	<!-- <{这个是定界符,在config.php设置}> -->
	<div>hello!!!!<{$name}></div>
	<!-- volist用来遍历数组 -->
	<volist name="list" id="item">
		<{$item.id}>===<{$item.user_name}>
	</volist>
</body> 
</html>

a.规则

模板文件夹下view/分组文件夹/模板文件夹/模块同名文件夹/方法同名文件夹index.html

'TMPL_TEMPLATE_SUFFIX'=>'.html',//修改view的后缀名规范

b.修改模板目录层次

'TMPL_FILE_DEPR'=>'/',//修改模板文件目录层次

c.模板主题

可以通过url传递 t=主题 参数可以修改不同的模板

'DEFAULT_THEME'=>'index',//设置模板主题
'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
'THEME_LIST'=>'your,my',//支持的模板主题

 

 

url的四种访问方式

 

1.PATHINFO模式

http://域名/项目名/入口文件/home/模块名/方法名/键1/值1/键2/值2

可以在home/conf/config.php里配置属性

'URL_PATHINFO_DEPR'=>'-',//修改url的分割符

2.普通模式

http://域名/项目名/入口文件/home?m=模块名&a=方法名&键1=值1&键2=值2

3.REWRITE模式

需要配置服务器文件,可以在访问url的时候隐藏入口文件

修改httpd.conf服务器文件,把LoadModule rewrite_module libexec/apache2/mod_rewrite.so前面的#去掉

如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:

注意:我用mac电脑不用配置以下内容就可以了,根据自己实际情况配置

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

4.兼容模式 

http://域名/项目名/入口文件/home?s=模块名/方法名/键1/值1/键2/值2

 

开启调试模式:

在index.php入口文件设置常量

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
// 想让配置马上生效就要开启调试模式
define('APP_DEBUG',True);

常见问题

1.想自学可以看网易云课堂

http://study.163.com/course/courseMain.htm?courseId=266024

2.在设置DB_HOST的时候记得不要用loaclhost,直接用ip :127.0.0.1

3.使用php验证码功能的时候报错 Call to undefined function Think\imagettftext() 可以查看一下两篇文章

http://blog.sina.com.cn/s/blog_1380a6f6b0102w1pd.html

https://blog.youkuaiyun.com/leiflyy/article/details/53016769

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值