1.關於本教程的開發環境問題
個人使用的phpstudy配置簡易laravel環境,通過在站點域名管理設定新建站點,在host中註冊自定義域名的方法實現執行laravel框架。
- artisan tinker
在命令列中直接進行資料庫操作,在Windows CMD中 與網站根目錄鍵入 artisan tinker 進入此模式,exit退出此模式。 -
resource 路由方法
Route::resource('users', 'UsersController');
控制器寫法
public function show(User $user) { return view('users.show', compact('user')); }
User 對應
{user}
:Route::get('/users/{user}', 'UsersController@show')->name('users.show');
$user表示傳遞的ID值
compact的作用是關聯$user,把其當做引數傳入檢視,將檢視與引數進行繫結。
HTTP 請求 | URL | 動作 | 作用 |
---|---|---|---|
GET | /users | UsersController@index | 顯示所有使用者列表的頁面 |
GET | /users/{user} | UsersController@show | 顯示使用者個人資訊的頁面 |
GET | /users/create | UsersController@create | 建立使用者的頁面 |
POST | /users | UsersController@store | 建立使用者 |
GET | /users/{user}/edit | UsersController@edit | 編輯使用者個人資料的頁面 |
PATCH | /users/{user} | UsersController@update | 更新使用者 |
DELETE | /users/{user} | UsersController@destroy | 刪除使用者 |
4.gravatar 獲取頭像方法
模型方法
`public function gravatar($size = '100')
{
$hash = md5(strtolower(trim($this->attributes['email'])));
return "http://www.gravatar.com/avatar/$hash?s=$size";
}`
1. 為 gravatar 方法傳遞的引數 `size` 指定了預設值 100;
2. 通過 `$this->attributes['email']` 獲取到使用者的郵箱;
3. 使用 `trim` 方法剔除郵箱的前後空白內容;
4. 用 `strtolower` 方法將郵箱轉換為小寫;
5. 將小寫的郵箱使用 md5 方法進行轉碼;
6. 將轉碼後的郵箱與連結、尺寸拼接成完整的 URL 並返回;
獲取頭像$user->gravatar();
-
輸入框自動填充舊資料
{{ old('name') }}
6.validate驗證方法
這時我們可以使用 `required` 來驗證使用者名稱是否為空。
`'name' => 'required'`
我們還可以使用 `min` 和 `max` 來限制使用者名稱所填寫的最小長度和最大長度。
`'name' => 'min:3|max:50'`
email驗證
'email' => 'email'
唯一性驗證
'email' => 'unique:users'
密碼匹配認證
'password' => 'confirmed'
密碼:
<input type='password' name='new_password' />
確認密碼:
<input type='password' name='new_password_confirmation' />
- validate驗證中文提示框
Composer 來安裝 laravel-lang。
$ composer require "overtrue/laravel-lang:~3.0"
安裝成功後,在 config/app.php 檔案中將以下這一行:
Illuminate\Translation\TranslationServiceProvider::class,
替換為:
Overtrue\LaravelLang\TranslationServiceProvider::class,
最後 app.php設定中文。
'locale' => 'zh-CN',
8.session訊息框
session()->flash('success', '歡迎,您將在這裡開啟一段新的旅程~');
通過回饋狀態判斷
[[[[[[[@foreach](https://learnku.com/users/5651)](https://learnku.com/users/5651)](https://learnku.com/users/5651)](https://learnku.com/users/5651)](https://learnku.com/users/5651)](https://learnku.com/users/5651)](https://learnku.com/users/5651) (['danger', 'warning', 'success', 'info'] as $msg)
@if(session()->has($msg))
@endif
@endforeach
9. method_field 隱藏域
{{ method_field('DELETE') }}
10. remember功能
驗證登入 並記住登入狀態 最大儲存5年
Auth::attempt($credentials, $request->has('remember'))
11.多對多 筆記
模型方法
//我的粉絲 我可以被多人關注
public function followers()
{
return $this->belongsToMany(User::Class, 'followers', 'user_id', 'follower_id');
}
//我的關注 我可以關注多人
public function followings()
{
return $this->belongsToMany(User::Class, 'followers', 'follower_id', 'user_id');
}
控制器方法
//我的關注
public function followings(User $user)
{
$users = $user->followings()->paginate(30);
$title = '關注的人';
return view('user.show_follow', compact('users', 'title'));
}
//我的粉絲
public function followers(User $user)
{
$users = $user->followers()->paginate(30);
$title = '粉絲';
return view('user.show_follow', compact('users', 'title'));
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結