天天看點

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,建立模型