লারাভেল 5.3 নতুন এথ :: রুট ()


128

সম্প্রতি আমি ব্লগ লেখার জন্য লারাভেল 5.3 ব্যবহার করতে শুরু করেছি, তবে রান করার পরে আমার একটি প্রশ্ন রয়েছে php artisan make:auth

যখন আমি এটি চালাব, এটি আমার মধ্যে রুট তৈরি করবে web.php

এটি এতে কোড:

Auth::routes();

Route::get('/home', 'HomeController@index');

তারপরে আমি দৌড়ে php artisan route:listযাই, লগইনকন্ট্রোলার @ লগইনের মতো আমি প্রচুর ক্রিয়াগুলি পাই ...

কিন্তু আমি আমার এই ক্রিয়াগুলি খুঁজে পাইনি, এটি App\Http\Controllers\Authকোথায়?

এবং এছাড়াও Auth::routes()স্ট্যান্ড কী , আমি আথ সম্পর্কে রুটগুলি খুঁজে পাচ্ছি না।

আমার কারও সাহায্য দরকার, আমার প্রশ্নের উত্তর দেওয়ার জন্য আপনাকে ধন্যবাদ


10
আমি কি এখনই সেই সমস্ত লারাভেল যাদুবিদ্যাকে ঘৃণা করি?
মুহাম্মদ উসমান

1
আমি লারাভেল যাদুগুলিকে কিছু মনে করি না, কেবল যদি সেগুলি নথিভুক্ত করা হত ... এবং পিএইচপি আর্টিসান জপ করার সময় সার্ভারের চারপাশে উইডারশিনগুলি না চালিয়ে ধারাবাহিকভাবে কাজ করতেন..কি?
বড়ধিলি

লারাভেল সবকিছুই বিকাশকারীদের পক্ষে নয়, এটি এমন সংস্থাগুলি এবং নবীন ব্যবহারকারীদের জন্য যারা নতুন অ্যাপ্লিকেশনগুলি দ্রুত এবং সহজ, এমনকি তাদের ডকুমেন্টেশন আনতে চান। আমার যদি পছন্দ হয় তবে আমি এখনও কোডইনিটার পছন্দ করি।
ব্ল্যাকপ্যাথার

: পড়ুন এই সহায়িকার medium.com/@panjeh/...
panjeh

উত্তর:


214

Auth::routes()কেবলমাত্র একটি সহায়ক শ্রেণি যা আপনাকে ব্যবহারকারী অনুমোদনের জন্য প্রয়োজনীয় সমস্ত রুট তৈরি করতে সহায়তা করে। আপনি এখানে কোডটি ব্রাউজ করতে পারেন https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php পরিবর্তে।

এখানে রুট

// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm');
$this->post('password/reset', 'Auth\ResetPasswordController@reset');

2
ধন্যবাদ! আমি ../ রাউটিং / রাউটার.এফপি দেখতে পাচ্ছি এবং এখন আমি জানি যে রুটগুলি কীভাবে কাজ করে ut তবে আথ স্ট্যাটিক পদ্ধতির রুটগুলি কোথায় ()? আমি এখনও এটি খুঁজে পাচ্ছি না, আমাকে ক্ষমা করুন আমি একজন
লার্যাভেল

4
অউথ :: রুটস পদ্ধতিটি এখানে github.com/laravel/framework/blob/5.3/src/Illuminate/Support/… এবং যাইহোক এটির রাউটার ফাংশনটি কল করছে। দয়া করে এটি উত্তর হিসাবে চিহ্নিত করুন, যদি এটি আপনাকে সাহায্য করে, ধন্যবাদ।
লি

2
Authএটি একটি ফোকাস এবং এটি সংজ্ঞায়িত করা config/app.phpহবে আপনি সেই শ্রেণিটি খুঁজে পাবেন যা সেই কনফিগারেশন ফাইলটিতে তার সরবরাহকারীর হিসাবে কাজ করে।
জেসন

একই তবে ত্রুটি পেয়েছে: NotFoundHttpException in RouteCollection.php line 161:এবং অন্য একটি এপিআই চলমান আছে।
151291

$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');চালাতে পারবেন না AuthAPI এর
151291

52

এখানে লারাভেল ৫.7 , লারাভেল ৫.৮ , লারাভেল .0.০ , এবং লারাভেল .0.০ (ইমেল যাচাইকরণ রুটে 6.০ এ একটি ছোটখাট বিসি পরিবর্তন নোট করুন)।

// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

// 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');

// Confirm Password (added in v6.2)
Route::get('password/confirm', 'Auth\ConfirmPasswordController@showConfirmForm')->name('password.confirm');
Route::post('password/confirm', 'Auth\ConfirmPasswordController@confirm');

// Email Verification Routes...
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify'); // v6.x
/* Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify'); // v5.x */
Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');

আপনি এই রুটগুলি এখানে যাচাই করতে পারবেন:


1
আপনার লিঙ্কগুলি দেখানোর সাথে সাথে প্রকৃতপক্ষে 5.8 থেকে 6.x এ একটি ছোট পরিবর্তন হয়েছিল: ইমেল যাচাইকরণ লিঙ্কের পথটি হওয়া উচিত 'email/verify/{id}/{hash}'। অন্যথায় হ্যাশটি যাচাই করা যাবে না এবং "এই ক্রিয়াটি অননুমোদিত" বলে 403 ত্রুটি নিক্ষেপ করা হবে।
15:59 '

46

লুরাভেল 5.3 এর পরিবর্তে অথ :: রুটগুলি () যাত্রা করে। আমি আসা করি এটা সাহায্য করবে...

Route::group(['middleware' => ['web']], function() {

// Login Routes...
    Route::get('login', ['as' => 'login', 'uses' => 'Auth\LoginController@showLoginForm']);
    Route::post('login', ['as' => 'login.post', 'uses' => 'Auth\LoginController@login']);
    Route::post('logout', ['as' => 'logout', 'uses' => 'Auth\LoginController@logout']);

// Registration Routes...
    Route::get('register', ['as' => 'register', 'uses' => 'Auth\RegisterController@showRegistrationForm']);
    Route::post('register', ['as' => 'register.post', 'uses' => 'Auth\RegisterController@register']);

// Password Reset Routes...
    Route::get('password/reset', ['as' => 'password.reset', 'uses' => 'Auth\ForgotPasswordController@showLinkRequestForm']);
    Route::post('password/email', ['as' => 'password.email', 'uses' => 'Auth\ForgotPasswordController@sendResetLinkEmail']);
    Route::get('password/reset/{token}', ['as' => 'password.reset.token', 'uses' => 'Auth\ResetPasswordController@showResetForm']);
    Route::post('password/reset', ['as' => 'password.reset.post', 'uses' => 'Auth\ResetPasswordController@reset']);
});

সুতরাং আপনি যদি এই রুটের কিছু নাম পরিবর্তন করেন তবে পোস্টগুলির ক্রিয়াগুলিও দেখুন পরিবর্তন করতে ভুলবেন না!


ধন্যবাদ তবে আপনাকে 'মিডলওয়্যার' => ['ওয়েব'] এর দরকার নেই: বাক্সের বাইরে, ওয়েব মিডলওয়্যার গোষ্ঠীটি স্বয়ংক্রিয়ভাবে আপনার রুটস / ওয়েব.এফপি ফাইলে রাউট সার্ভিসপ্রোভাইডার দ্বারা প্রয়োগ করা হবে।
পানজেহ

15

জন্য Laravel 5.5.x

// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
$this->post('password/reset', 'Auth\ResetPasswordController@reset');

8

ফাংশন কল অর্ডার:

  1. (আথ) আলোকিত করুন \ সমর্থন \ মুখোমুখি \ অউথ @ রুট ( https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php )
  2. (এপিপি) জ্বালান \ ফাউন্ডেশন \ অ্যাপ্লিকেশন @ প্রমাণীকরণ
  3. (রুট) জ্বালান \ রাউটিং \ রাউটার

এটি এর মতো রুট:

public function auth()
{
    // Authentication Routes...
    $this->get('login', 'Auth\AuthController@showLoginForm');
    $this->post('login', 'Auth\AuthController@login');
    $this->get('logout', 'Auth\AuthController@logout');
    // Registration Routes...
    $this->get('register', 'Auth\AuthController@showRegistrationForm');
    $this->post('register', 'Auth\AuthController@register');
    // Password Reset Routes...
    $this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
    $this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
    $this->post('password/reset', 'Auth\PasswordController@reset');
}


এই উত্তরটি আসলে ওপি-র জিজ্ঞাসিত প্রশ্নের উপর আলোকপাত করে। ধন্যবাদ @ সিলেন্টট্যাগ।
ভ্যালেন্টাইন শি

আমি ভেবেছিলাম উপরের এই 3 টি ধাপে কী ঘটেছিল তা মৌখিকভাবে ব্যাখ্যা করা ভাল হবে: Auth::routes()- আথ ফ্যাসাদ - Routerলারাভেল ধারক থেকে বস্তুর উদাহরণটি পুনরুদ্ধার করে এবং এর প্রাক-বিদ্যমান পদ্ধতিটিকে কল করে authauthপরিবর্তে রুটগুলি এবং তাদের দ্বারা উত্পাদিত তাদের নিজ নিজ নিয়ন্ত্রকদের সংজ্ঞায়িত করে php artisan make:auth। এই হল.
ভ্যালেন্টাইন শি

7

এটি আমার জন্য লারাভেল 5.6 এর সাথে কাজ করেছে ।

ফাইলটিতে web.php, কেবল প্রতিস্থাপন করুন:

Auth::routes();

দ্বারা:

//Auth::routes();
// Authentication Routes...
Route::get('admin/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('admin/login', 'Auth\LoginController@login');
Route::post('admin/logout', 'Auth\LoginController@logout')->name('logout');
// 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');

এবং নীচের দুটি ফাইলের মধ্যে নিবন্ধ লিঙ্কটি সরান :

welcome.blade.php
layouts/app.blade.php

4

আপনি যদি লারাভেল 7 সংস্করণের জন্য এই একই রুটগুলি অনুসন্ধান করছেন তবে আপনি এটি এখানে পাবেন Vendor/laravel/ui/src/AuthRouteMethods.php


1

আমি অবাক হয়েছি কেউই আদেশটি উল্লেখ করে নি php artisan route:list, যা সমস্ত নিবন্ধিত অ্যাপ রুটের একটি তালিকা দেয় (সহ Auth::routes()এবং Passport::routes()যদি নিবন্ধিত থাকে)


0

loginuser শ্রেণি একটি বৈশিষ্ট্য ব্যবহার করে AuthenticatesUsers

যদি আপনি সেই বৈশিষ্ট্যটি খোলেন তবে আপনি ফাংশনগুলি দেখতে পাবেন (এটি অন্যান্য নিয়ামকদের জন্য প্রযোজ্য) Illuminate\Foundation\Auth\AuthenticatesUsers;

এখানে বৈশিষ্ট্য কোডটি https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUser.php

খারাপ ফর্ম্যাটের জন্য দুঃখিত, আমি আমার ফোনটি ব্যবহার করছি

এছাড়াও Auth::routes()এটি কেবল এমন একটি ফাংশন কল করে যা প্রামাণিক রুটগুলি ফিরিয়ে দেয় (আমার মনে হয়)


হ্যাঁ, আমি আথ / দীরের মধ্যে নজর রাখছি, তবে আমি অ্যাপ্লিকেশন \ এইচটিটিপি \ কন্ট্রোলারস \ আথ \ রিসেটপ্যাসওয়ার্ড কন্ট্রোলার @ শো রিসেটফর্মের মতো পদ্ধতিটি খুঁজে পাচ্ছি না, @ এর পরে আমি কোথায় এই পদ্ধতিটি খুঁজে পেতে পারি, এটি খুঁজে পেতে আমার অনেক সময় ব্যয় হয়েছে, তবে এখন আমিও খুঁজে পাচ্ছি না it..I Laravel নতুন am ..
g1eny0ung

1
এখানে পুরো পথটি রয়েছে vendor\laravel\src\Illuminate\Foundation\Auth\ResetsPasswords, আপনি যদি এটি বা অন্য কোনও কিছু পরিবর্তন করতে চান তবে এটি পরিবর্তন করবেন না, কেবল আপনার নিয়ন্ত্রকের সাথে একই পদ্ধতি যুক্ত করুন এবং তারপরে এটি পরিবর্তন করুন,
আছরাফ খৌড়দা

@ আক্রফ খোয়াদজা, মনে হচ্ছে আপনি লারাভেলকে মাস্টার করেছেন। আমার তোমার সাহায্য দরকার. এখানে দেখুন: stackoverflow.com/questions/41047583/…
মোস টো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.