零、設定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
先放張圖,我配置檔案放這裡了,是和上面的路徑相對應的
這是裡面的代碼,我目前隻配置了路由和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中注釋了增加方法,這個方法也是能用的,想看的可以傳回去看看