.env文件配置
APP_NAME=Laravel # 項(xiàng)目名稱
APP_DEBUG=true # 調(diào)試模式開(kāi)啟狀態(tài)
DB_CONNECTION=mysql # 連接數(shù)據(jù)庫(kù)的類型
DB_HOST=127.0.0.1 # 數(shù)據(jù)庫(kù)連接host
DB_PORT=3306 # 數(shù)據(jù)庫(kù)連接端口
DB_DATABASE=blog # 數(shù)據(jù)庫(kù)連接端口
DB_USERNAME=homestead # 數(shù)據(jù)庫(kù)用戶名
DB_PASSWORD=secret # 數(shù)據(jù)庫(kù)密碼
路由
所有的路由需要寫在./route/web.php文件內(nèi)
// 控制器路由
Route::get('user', 'UserController@show');
// get 指通過(guò)get方式請(qǐng)求
// user 指路由地址為/user
// UserController 指以 App\Http\Controllers 為根的命名空間
// show 指執(zhí)行的方法名
Route::match(['get', 'post'], 'user', 'UserController@show');
// 還可以用match方法添加多個(gè)請(qǐng)求方式
Route::all('user', 'UserController@show');
// all方法為所有請(qǐng)求都可以直接訪問(wèn)
Route::get('/user/{id}', 'UserController@show');
// 在路由中添加{}即可添加一個(gè)動(dòng)態(tài)的參數(shù)
Route::get('/user/{id?}', 'UserController@show');
// 在路由中添加{}中加上一個(gè)?, 且show的形參中有定義默認(rèn)值
// 則url不攜帶參數(shù)也可以進(jìn)行正常訪問(wèn)
Route::get('/user/{id?}', 'UserController@show')->where('id', '[0-9]+');
// 調(diào)用where方法則為進(jìn)行篩選
// 參數(shù)描述 第一位為參數(shù)名, 第二位為正則表達(dá)式
Route::resource('/users', 'UserController');
// 添加資源類型的控制器中自動(dòng)生成的方法的路由
模型
模型命名一般用表名相對(duì)應(yīng)名字
# 創(chuàng)建模型
$ php artisan make:model Models\Member

創(chuàng)建成功

創(chuàng)建后的初始代碼
控制器
# 創(chuàng)建控制器
$ php artisan make:controller MemberController
# 創(chuàng)建資源類型的控制器
$ php artisan make:controller BookController --resource

創(chuàng)建成功

創(chuàng)建后的初始代碼
創(chuàng)建資源類型的控制器后會(huì)出現(xiàn)對(duì)資源的通用操作方法

資源類型的控制器的初始代碼
數(shù)據(jù)庫(kù)遷移
文件目錄在./database/migrations中
# 使用遷移工具創(chuàng)建遷移文件
$ php artisan make:migration create_member_table

創(chuàng)建遷移文件

創(chuàng)建的初始代碼
其中 up方法為創(chuàng)建數(shù)據(jù)表方法, down方法為刪除數(shù)據(jù)表方法
Schema::create('member', function (Blueprint $table) {
$table->integerIncrements('id');
// 創(chuàng)建自增長(zhǎng)的字段, 名為id
$table->string('nickname', 32)->nullable('false');
// 創(chuàng)建一個(gè)名為nickname的字段, 字段不為空, 并且設(shè)置字段長(zhǎng)度為32
$table->string('truename', 32)->nullable('false');
$table->string('email', 50)->nullable('false');
});
執(zhí)行遷移文件
# 第一次執(zhí)行遷移文件時(shí)候執(zhí)行
$ php artisan migrate:install
# 假如已經(jīng)遷移完成了, 但是又因?yàn)樾枨笮枰獎(jiǎng)?chuàng)建新的表則執(zhí)行以下命令
$ php artisan migrate

執(zhí)行成功
還有其他操作方法可參考 官方中文文檔(數(shù)據(jù)庫(kù)遷移篇)
數(shù)據(jù)庫(kù)數(shù)據(jù)填充
文件目錄為./database/seeds
php artisan make:seeder MamberTableSeeder

創(chuàng)建成功
public function run()
{
//定義數(shù)據(jù)
$data = [
[
'id' => 1,
'nikename' => '小霸王',
'truename' => '張震',
'email' => 'zhangzhen@gmail.com',
],
[
'id' => 2,
'nikename' => '學(xué)習(xí)機(jī)',
'truename' => '張震岳',
'email' => 'zhangzhenyue@gmail.com',
],
];
// 插入數(shù)據(jù)
DB::table('member')->insert($data);
}
# 執(zhí)行填充器
$ php artisan db:seed --class=MemberTableSeeder

填充成功

數(shù)據(jù)庫(kù)中顯示數(shù)據(jù)
視圖
調(diào)用方法
// 方法1
return view('member.index', [
'truename' => '張三',
'nickname' => '張小三',
]);
//方法2
$member = [
'truename' => '張三',
'nickname' => '張小三',
];
return view('member.index', compact(
'member'
));
視圖文件
# 獲取變量的方式
方法1
{{ $truename }}
{{ $nickname }}
方法2
{{ $member['truename']}}
{{ $member['nickname']}}
#不轉(zhuǎn)義輸出
{!! $nickname !!}