零、设置config.php用于做配置
ThinkPHP5.0完全开发手册 这个文档挺好的,又不会的可以查一下
1.引入配置文件
因为我是第一次做PHP相关的项目,看了看视频,我不想动框架的东西(因为我刚接触,不懂,就不想删除),所以我就另外引了一个配置文件
引入配置文件代码,该文件所在位置:总目录->public->index.php
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 定义应用配置:个人的配置文件,我就是在原有的基础上写了下面这行代码
define('CONF_PATH', __DIR__ . '/../application/config/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
2.新建配置文件,config.php
先放张图,我配置文件放这里了,是和上面的路径相对应的
这是里面的代码,我目前只配置了路由和DeBug模式
<?php
/**
* 配置文件
* 注释:优先级大于原配置文件
* 创建时间:2019.08.04
*/
return [
// 是否开启路由
'url_route_on' => true,
// 是否强制使用路由
'url_route_must' => false,
// 应用调试模式
'app_debug' => true,
]
?>
3.新建配置文件,连接数据库和连接路由
1)数据库配置文件database.php
这我就不放代码了,按照自己的数据库配置路径、用户名、密码、端口就行,
这个文件在,总目录->application->database.php 中有所有可以配置项,可以复制这的然后粘贴到自己的配置文件中,
我就是全部粘贴,然后改的用户名和密码
2)路由配置文件route.php
这个有post和get的区别,一开始可以用get尝试,理解后再换post(因为我工作的时候还真没怎么有get跳转),不懂的可以看看文档
重点一:配置路由后也连接不上的问题
我一开始配置路由后,总是连接不上,显示页面跳转错误,我认为是post和get的问题,但是不传参用get也是连接不上,懵懵的,最后终于知道是那里的问题了,我的路径不对,因为所有的方法都是从public/index.php进入的,但是我的路径写成了这样
http://www.qq_xcx.com/test
就是进不去(前面的那个网址是我配置的站点域名,其实就是连接到localhost的,如果想学可以自行百度),最后改成这样,才进去,豁然开朗,原来是中间少了 /public/index.php
http://www.qq_xcx.com/public/index.php/test
然后到这就是配置全写完了和前端连接成功了,我放个我连接后的图,这是我从数据库查询的数据,我写博客的时候就已经连接完数据库了,后面我会放 /test 路由连接到的代码的
一、接口里我写的什么
一、配置路由问题
这个是我的路由代码,其中有个问题,就是post连接,配置路由后网页上输入就进不去了,判断成get方式了,我不知道是不是都这样,所以下面的这个post我是用小程序实验的,可以正常用,但是网页上直接录入时进不去的了,
然后就是下面的get我感觉用post也进不去了,如果报错了,可以考虑一下这种情况(post和get用混了)
<?php
/**
* 路由配置文件
* 注释:路由在这里传向后台具体方法
* 创建时间:2019.08.04
*/
use think\Route;
// 注册路由到index模块的News控制器的read操作
Route::post('/ttt','index/index/dome'); //测试POST用接口
Route::get('/test','index/index/test'); //测试GET用接口
我的post中什么都没写,就不在这展示了,post用来实验的话很费劲,还要给他参数,所以这我就放我的get部分,用于解释一下
二、get路由连接到的方法,接口里的内容
我这放我整个index.php的代码把,放一部分总是容易找不到有些部分
其中的dome是我测试post接口的,test是我测试get接口的,都连接上了,
这里瞥一眼就好了,我之后会写连接MySQL,之后再看这些代码就容易些
<?php
namespace app\index\controller;
use app\index\model\Biz_test;
/**
* 总接口
* 创建时间:2019.08.03(创建项目)
* 修改时间:2019.08.05
*/
class Index
{
public function index()
{
// dump(\think\Config::get());
// 下面这行是配置文件
return json_encode(\think\Config::get());
}
/**
* 接口:测试POST用接口
* @return [type] [description]
*/
public function dome()
{
$map = array(
'name'=>'杨玉书',
'id'=> $_POST['id']
);
return json_encode($map);
}
/**
* 接口:测试GET用接口
* @return [type] [description]
*/
public function test(){
echo "进入GET测试接口<br>";
// echo Biz_test::get(5); //通过ID获取表数据
$biz_test = new Biz_test();
/**
* 添加数据
*/
// $list2 = new Biz_test([
// 'ID' => 19,
// 'NAME' => '王昭君',
// 'liandong_id' => 'asdfdf52sdf5wc35asf13',
// 'state' => '1',
// ]);
// $list2->save();
/**
* 查询数据
*/
$list = $biz_test->limit(0,9)->select();
echo '<pre>'; //让json字符串好看些
print_r(json_decode(json_encode($list))); //将$list数组转换成易读的json格式
}
}
二、连接MySQL,创建模型
1.创建一个表的模型
我先放一下我的截图
上面的小框是我放的位置,黄色箭头是命名空间(说的挺高大上,但其实我现在还不知道命名空间是啥,我只知道引用的时候用,和文件本身路径一样),蓝色箭头是引用model抽象类,绿色箭头是继承该类
12行决定了连接数据库那个表;剩下的几个是我配置的自动记录创建时间和修改时间(如果有自动记录时间,数据库记得创建这个字段),
第12行可以不设置,现在很多都是用名字关联法,想学的可以自行百度,但是我就是不想用这个方法,因为我的表的前缀很多都是不一样的,
以下是我的代码
<?php
namespace app\index\model;
use think\Model;
/**
* 模型:测试数据用模型
* 创建时间:2019.08.05
*/
class Biz_test extends Model
{
// 设置当前模型对应的完整数据表名称
protected $table = 'test1';
// 是否需要自动写入时间戳 如果设置为字符串 则表示时间字段的类型
protected $autoWriteTimestamp = 'datetime';
// 创建时间字段
protected $createTime = 'create_time';
// 更新时间字段
protected $updateTime = 'update_time';
}
这样就完全连接好了,
我在我的index.php中注释了增加方法,这个方法也是能用的,想看的可以返回去看看