Laravel 驗證:排除「make:auth 指令未定義」錯誤
嘗試在Laravel 5.2 中執行make:auth 指令時,您可能會遇到一條錯誤訊息,指出該命令未定義。出現此問題的原因有很多,我們將詳細探討。
對於 Laravel 5.2 及更早版本,make:auth 指令不可用。 Laravel 5.2 支援以下指令:
- make:auth
- make:console
- make:controller make:事件
- make:作業
- make:監聽器
- make:中間件
- make:遷移
- make : model
- make:policy
- make:presenter
- make:provider
- make:repository
- make:repository
- make:repository
- 🎜>make:seeder
- make:test
- 如果您使用Laravel 5.2,您可以透過以下方式手動建立身份驗證視圖和路由請依照以下步驟操作:
- 在routes目錄中建立routes.php檔案。
<code class="php">// Authentication Routes... Route::get('login', 'Auth\LoginController@showLoginForm')->name('login'); Route::post('login', 'Auth\LoginController@login')->name('login.post'); Route::post('logout', 'Auth\LoginController@logout')->name('logout'); // Registration Routes... Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); Route::post('register', 'Auth\RegisterController@register')->name('register.post'); // Password Reset Routes... Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');</code>
將以下程式碼加入routes.php檔案: - 在 app/Http/Controllers/Auth 目錄下建立 LoginController.php 檔案。
<code class="php">namespace App\Http\Controllers\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Route; class LoginController extends Controller { public function showLoginForm() { return view('auth.login'); } public function login(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { // The user was authenticated return redirect()->intended(route('home')); } // The user could not be authenticated return redirect()->back()->withErrors(['email' => 'The provided credentials do not match our records.']); } public function logout(Request $request) { Auth::logout(); return redirect()->route('login'); } }</code>
在 LoginController.php 檔案中加入以下程式碼: - 在 app/Http/Controllers/Auth 目錄下建立 RegisterController.php 檔案。
<code class="php">namespace App\Http\Controllers\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Route; class RegisterController extends Controller { public function showRegistrationForm() { return view('auth.register'); } public function register(Request $request) { $this->validate($request, [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6|confirmed', ]); // Create the user $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), ]); // Log the user in Auth::login($user); // Redirect the user to the home page return redirect()->route('home'); } }</code>
在 RegisterController.php 檔案中加入以下程式碼: - 在 app/Http/Controllers/Auth 目錄下建立 ForgotPasswordController.php 檔案。
<code class="php">namespace App\Http\Controllers\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\Password; class ForgotPasswordController extends Controller { public function showLinkRequestForm() { return view('auth.passwords.email'); } public function sendResetLinkEmail(Request $request) { $this->validate($request, [ 'email' => 'required|string|email|max:255', ]); // We will send the reset link to this user. Once we have attempted // to send the link, we will examine the response then see the message we // need to show to the user. Finally, we'll send out a proper // response. $response = Password::sendResetLink( $request->only('email') ); switch ($response) { case Password::RESET_LINK_SENT: return back()->with('status', __($response)); case Password::INVALID_USER: return back()->withErrors(['email' => __($response)]); } } }</code>
將以下程式碼加入 ForgotPasswordController.php 檔案中: - 在 app/Http/Controllers/Auth 目錄下建立 ResetPasswordController.php 檔案。
<code class="php">namespace App\Http\Controllers\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Password; use Illuminate\Validation\ValidationException; class ResetPasswordController extends Controller { public function showResetForm(Request $request, $token = null) { return view('auth.passwords.reset')->with( ['token' => $token, 'email' => $request->email] ); } public function reset(Request $request) { $request->validate([ 'token' => 'required', 'email' => 'required|email', 'password' => 'required|min:6|confirmed', ]); // Here we will attempt to reset the user's password. If it is successful we // will update the password on an existing user and return a response // indicating that the user's password has been reset. $response = Password::reset( $request->only('email', 'password', 'password_confirmation', 'token'), function ($user) use ($request) { $user->forceFill([ 'password' => Hash::make($request->password), 'remember_token' => Str::random(60), ])->save(); // In case of large user base, it's recommended to use // $user->setRememberToken(Str::random(60)); // $user->save(); } ); switch ($response) { case Password::PASSWORD_RESET: return redirect()->route('login')->with('status', __($response)); default: throw ValidationException::withMessages([ 'email' => [__($response)], ]); } } }</code>
在 ResetPasswordController.php 檔案中加入以下程式碼:
完成這些步驟後,您的 Laravel 5.2 應用程式中應該有一個有效的身份驗證系統。
對於 Laravel >= 6composer require laravel/ui php artisan ui vue --auth php artisan migrate在 Laravel 6 及更高版本中,make:auth 命令已替換為 ui 命令。若要使用此命令建立驗證視圖和路由,請執行下列命令:此命令將安裝 Laravel UI 套件並建立必要的驗證視圖、路由和遷移。
以上是為什麼 Laravel 5.2 中未定義「make:auth」指令以及如何手動設定身份驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器