天天看点

PHP学习(二):TP5初次使用,配置后遇到的一些小问题,初次配置路由及连接数据库遇到的一些微小但是没有头绪的问题零、设置config.php用于做配置重点一:配置路由后也连接不上的问题一、接口里我写的什么二、连接MySQL,创建模型

零、设置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 <[email protected]>
// +----------------------------------------------------------------------

// [ 应用入口文件 ]

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 定义应用配置:个人的配置文件,我就是在原有的基础上写了下面这行代码
define('CONF_PATH', __DIR__ . '/../application/config/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
           

2.新建配置文件,config.php

先放张图,我配置文件放这里了,是和上面的路径相对应的

PHP学习(二):TP5初次使用,配置后遇到的一些小问题,初次配置路由及连接数据库遇到的一些微小但是没有头绪的问题零、设置config.php用于做配置重点一:配置路由后也连接不上的问题一、接口里我写的什么二、连接MySQL,创建模型

这是里面的代码,我目前只配置了路由和DeBug模式

<?php
/**
 * 配置文件
 * 注释:优先级大于原配置文件
 * 创建时间:2019.08.04
 */
return [
	// 是否开启路由
    'url_route_on'           => true,
    // 是否强制使用路由
    'url_route_must'         => false,
    // 应用调试模式
    'app_debug'              => true,
]
?>
           

3.新建配置文件,连接数据库和连接路由

1)数据库配置文件database.php

这我就不放代码了,按照自己的数据库配置路径、用户名、密码、端口就行,

这个文件在,总目录->application->database.php 中有所有可以配置项,可以复制这的然后粘贴到自己的配置文件中,

我就是全部粘贴,然后改的用户名和密码

PHP学习(二):TP5初次使用,配置后遇到的一些小问题,初次配置路由及连接数据库遇到的一些微小但是没有头绪的问题零、设置config.php用于做配置重点一:配置路由后也连接不上的问题一、接口里我写的什么二、连接MySQL,创建模型
2)路由配置文件route.php

这个有post和get的区别,一开始可以用get尝试,理解后再换post(因为我工作的时候还真没怎么有get跳转),不懂的可以看看文档

PHP学习(二):TP5初次使用,配置后遇到的一些小问题,初次配置路由及连接数据库遇到的一些微小但是没有头绪的问题零、设置config.php用于做配置重点一:配置路由后也连接不上的问题一、接口里我写的什么二、连接MySQL,创建模型

重点一:配置路由后也连接不上的问题

我一开始配置路由后,总是连接不上,显示页面跳转错误,我认为是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 路由连接到的代码的

PHP学习(二):TP5初次使用,配置后遇到的一些小问题,初次配置路由及连接数据库遇到的一些微小但是没有头绪的问题零、设置config.php用于做配置重点一:配置路由后也连接不上的问题一、接口里我写的什么二、连接MySQL,创建模型

一、接口里我写的什么

一、配置路由问题

这个是我的路由代码,其中有个问题,就是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.创建一个表的模型

我先放一下我的截图

PHP学习(二):TP5初次使用,配置后遇到的一些小问题,初次配置路由及连接数据库遇到的一些微小但是没有头绪的问题零、设置config.php用于做配置重点一:配置路由后也连接不上的问题一、接口里我写的什么二、连接MySQL,创建模型

上面的小框是我放的位置,黄色箭头是命名空间(说的挺高大上,但其实我现在还不知道命名空间是啥,我只知道引用的时候用,和文件本身路径一样),蓝色箭头是引用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中注释了增加方法,这个方法也是能用的,想看的可以返回去看看

2.放一下我创建的数据库表

PHP学习(二):TP5初次使用,配置后遇到的一些小问题,初次配置路由及连接数据库遇到的一些微小但是没有头绪的问题零、设置config.php用于做配置重点一:配置路由后也连接不上的问题一、接口里我写的什么二、连接MySQL,创建模型