【ThinkPHP】ThinkPHP环境的安装与配置
ThinkPHP是⼀个免费开源的,快速、简单的⾯向对象的轻量级PHP开发框架。
严格来说,ThinkPHP⽆需安装过程,这⾥所说的安装其实就是把ThinkPHP框架放⼊WEB运⾏环境(前提是你的WEB运⾏环境已经OK),可以通过两种⽅式获取和安装ThinkPHP。
下载ThinkPHP安装
接下来进⼀步分析⼀下ThinkPHP5.0的框架结构:
⾸先是浏览⼀下ThinkPHP5.0的⽬录结构
tp5 WEB部署⽬录(或者⼦⽬录)
├─application 应⽤⽬录
│├─common 公共模块⽬录(可以更改)
│├─module_name 模块⽬录
││├─config.php 模块配置⽂件
││├─common.php 模块函数⽂件
││├─controller 控制器⽬录
││├─model 模型⽬录
││├─view 视图⽬录
││└─ ... 更多类库⽬录
││
│├─command.php 命令⾏⼯具配置⽂件
│├─common.php 公共函数⽂件
│├─config.php 公共配置⽂件
│├─route.php 路由配置⽂件
│├─tags.php 应⽤⾏为扩展定义⽂件
│└─database.php 数据库配置⽂件
│
├─public WEB⽬录(对外访问⽬录)
│├─index.php ⼊⼝⽂件
│├─router.php 快速测试⽂件
│└─.htaccess ⽤于apache的重写
│
├─thinkphp 框架系统⽬录
│├─lang 语⾔⽂件⽬录
│├─library 框架类库⽬录
││├─think Think类库包⽬录
││└─traits 系统Trait⽬录
怎么安装php││
│├─tpl 系统模板⽬录
│├─base.php 基础定义⽂件
│├─console.php 控制台⼊⼝⽂件
│├─convention.php 框架惯例配置⽂件
│├─helper.php 助⼿函数⽂件
│├─l phpunit配置⽂件
│└─start.php 框架⼊⼝⽂件
│
├─extend 扩展类库⽬录
├─runtime 应⽤的运⾏时⽬录(可写,可定制)
├─vendor 第三⽅类库⽬录(Composer依赖库)
├─build.php ⾃动⽣成定义⽂件(参考)
├─composer.json composer 定义⽂件
├─ 授权说明⽂件
├─README.md README ⽂件
├─think 命令⾏⼊⼝⽂件
~~~
serverName/index.php(或者其它应⽤⼊⼝⽂件)/模块/控制器/操作/参数/值…
然后我们来看看实际的⽂件:
这是ThinkPHP5.0的默认⽬录⽂件,我们可以看到模块为index,控制器也是index,操作也是index。
模块⽂件夹下⾯除了有controller⽂件夹外,还可以新增model⽂件夹(模型),view⽂件夹(视图),这些⽂件夹就是ThinkPHP5中MVC 架构的体现。
知道这些后,再结合上⾯URL的完整路径规则,那么可以知道访问“index操作”的完整路径是:
localhost/tp5/public/index.php/index/index/index
其中最右边的index代表操作,右边第⼆个index代表控制器,右边第三个index代码模块。
接下来笔者⽤⼀个登录功能来串联⼀下这些知识点:
项⽬结构
数据库
index.php⽂件
<?php
namespace app\index\controller;
use app\index\model\User;
use think\Db;
class Index
{
public function index()
{
return 'hello thinkphp5';
}
public function loginview(){
return view();
}
public function login(){
$name = $_GET["name"];
$pass = $_GET["password"];
$user = new User($name,$pass);
//查询数据库
$val = Db::table('userinfo')
->where('name',$user->GetName())
->where('pass',$user->GetPass())
->find();
$res = "";
if($val){//有该⽤户
$_SESSION["user"] = $user->GetName();
$res = "login successed";
}else{//没有该⽤户
$res = "login failed";
}
return$res;
}
}
index.php
User.php⽂件
<?php
namespace app\index\model;
class User{
private$name;
private$pass;
public function __construct($name,$pass){
$this->name = $name;
$this->pass = $pass;
}
public function GetName(){
return$this->name;
}
public function GetPass(){
return$this->pass;
}
}
User.php
loginview.html⽂件
<form action = "login">
<div><span>⽤户名:</span><input type="text" name="name"/></div>
<div><span>密码:</span><input type="password" name="password"/></div> <div><input type="submit" value="登录"/></div>
</form>
loginview.html
database.php⽂件
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 thinkphp All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( /licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail>
// +----------------------------------------------------------------------
return [
/
/ 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'test',
// ⽤户名
'username' => 'root',
// 密码
'password' => '',
// 端⼝
'hostport' => '3306',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采⽤utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
// 数据库调试模式
'debug' => true,
/
/ 数据库部署⽅式:0 集中式(单⼀服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离主从式有效
'rw_separate' => false,
// 读写分离后主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'array',
// ⾃动写⼊时间戳字段
'auto_timestamp' => false,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进⾏SQL性能分析
'sql_explain' => false,
];
database.php
效果图:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论