快速入门
在本地部署thinkphp
1.把tp5.rar放在你的电脑php环境下的web目录里,然后解压出来,这里重命名为thinkphp
2.给这个项目创建一个虚拟主机,打开phpstudy_pro软件并启动web服务,在侧边菜单栏选择网站,点击创建网站
如图一配置,还有在创建环境里选择创建数据库,如图二配置,最后一路确认,等待web服务重启完成
3.打开浏览器,输入刚才配置的域名,看到这个界面说明已经部署成功
4.创建Admin,Home模块和User公共模型
打开cmd,输入如下命令
//创建Admin模块
php think build --module Admin
//创建Home模块
php think build --module Home
//创建模型
php think make:model common/User/User
5.访问home模块里的index控制器里面index方法
首先打开thinkphp/application/Home/controller/Index.php,如下:
<?php
namespace app\Home\controller;
class Index
{
public function index()
{
return '这是Home模块里的index控制器';
}
}
注意:如果public里的.htaccess伪静态文件为空,必须要加上;入口文件index.php
//域名/入口文件/模块/方法
http://www.thinkphp.com/index.php/home/index
隐藏入口文件,给public.htaccess文件加上下面的代码
<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>
//域名/模块/方法
http://www.thinkphp.com/home/index
6.创建验证器
在application/Admin目录下创建一个叫validate文件夹
在validate目录下创建User文件夹,再User文件夹新建User.php文件
User.php里的代码如下:
<?php
namespace app\Admin\validate\User;
use think\Validate;
class user extends Validate
{
/**
* 验证规则
*/
protected $rule = [
'phone' => 'require|unique:user|max:11|/^1[0-9]{10}/',
'password' => 'require',
'salt' => 'require',
'gender' => 'number|in:0,1,2'
];
/**
* 提示消息
*/
protected $message = [
'phone.require' => '手机号码必填',
'phone.unique' => '手机号码必须是唯一的,该手机号码已存在',
'password.require' => '密码必填',
'salt.require' => '密码盐必填',
];
/**
* 验证场景
*/
protected $scene = [
//添加
'add' => ['phone', 'salt', 'password'],
//h5手机端修改基本资料
'profile' => ['phone', 'nickname', 'gender']
];
}
在application/Admin/controller/Index.php引用验证器
<?php
namespace app\Admin\controller;
//使用User验证器
use app\Admin\validate\User\User;
class Index
{
public function index()
{
//实例化User验证器
$UserValidate = new User;
return '这是后台';
}
}
7.模板布局
在application\config.php里找到template,加上下面的代码
// 模板布局
'layout_on' => true,
'layout_name' => 'layout',
完整
'template' => [
// 模板引擎类型 支持 php think 支持扩展
'type' => 'Think',
// 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写
'auto_rule' => 1,
// 模板路径
'view_path' => '',
// 模板后缀
'view_suffix' => 'html',
// 模板文件名分隔符
'view_depr' => DS,
// 模板引擎普通标签开始标记
'tpl_begin' => '{',
// 模板引擎普通标签结束标记
'tpl_end' => '}',
// 标签库标签开始标记
'taglib_begin' => '{',
// 标签库标签结束标记
'taglib_end' => '}',
// 模板布局
'layout_on' => true,
'layout_name' => 'layout',
],
然后在application/Admin/view目录下创建layout.html文件,再创建Common作为公共部分,index.html进行头尾分离,目录如下
layout.html
{include file="Common/meta" /}
{include file="Common/header" /}
{include file="Common/menu" /}
{__CONTENT__}
{include file="Common/js" /}
8.连接数据库
在application\database.php文件配置
return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp',
// 用户名
'username' => 'thinkphp',
// 密码
'password' => '123456',
// 端口
'hostport' => '',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'pre_',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 自动读取主库数据
'read_master' => false,
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'array',
// 自动写入时间戳字段
'auto_timestamp' => false,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进行SQL性能分析
'sql_explain' => false,
];
完整源代码