नियंत्रक और कार्रवाइयाँ
artisan से नियंत्रक बनाएँ और कार्रवाई विधियों में अनुरोध संभालें
नियंत्रक और कार्रवाइयाँ, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
नियंत्रक क्या होता है
नियंत्रक अनुरोध संभालने वाले संबंधित तर्क को एक साथ समूहित करता है। रूट फ़ाइलों में क्लोज़र रखने के बजाय, आप काम नियंत्रक की विधियों (क्रियाओं) को सौंपते हैं।
नियंत्रक बनाना
नियंत्रक का ढाँचा तैयार करने के लिए Artisan का उपयोग करें।
$ php artisan make:controller UserController
$ php artisan make:controller PostController --resourceमूल नियंत्रक
नियंत्रक Controller का विस्तार करता है और प्रत्येक रूट क्रिया के लिए सार्वजनिक विधियाँ रखता है।
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
class UserController extends Controller
{
public function index(): \Illuminate\View\View
{
$users = User::all();
return view("users.index", compact("users"));
}
}अनुरोध तक पहुँचना
क्रिया विधि में Illuminate\Http\Request का प्रकार संकेत करें — Laravel इसे अपने-आप जोड़ देता है।
<?php
public function store(Request $request): \Illuminate\Http\RedirectResponse
{
$name = $request->input("name");
$email = $request->input("email");
User::create(["name" => $name, "email" => $email]);
return redirect()->route("users.index");
}फ़ॉर्म सत्यापन
इनपुट का सत्यापन करने के लिए $request->validate() का उपयोग करें। विफल होने पर Laravel त्रुटियों के साथ अपने-आप पिछले पृष्ठ पर भेज देता है।
<?php
public function store(Request $request): \Illuminate\Http\RedirectResponse
{
$validated = $request->validate([
"name" => "required|string|max:255",
"email" => "required|email|unique:users",
]);
User::create($validated);
return redirect()->route("users.index");
}संसाधन नियंत्रक की विधियाँ
संसाधन नियंत्रक में 7 पारंपरिक विधियाँ होती हैं: index, create, store, show, edit, update, destroy।
एकल-क्रिया नियंत्रक
आह्वान योग्य नियंत्रकों में एक ही __invoke() विधि होती है — ऐसी क्रियाओं के लिए आदर्श, जो ठीक एक काम करती हैं।
<?php
class SendWelcomeEmail extends Controller
{
public function __invoke(User $user): void
{
Mail::to($user)->send(new WelcomeMail($user));
}
}
// Route:
Route::post("/users/{user}/welcome", SendWelcomeEmail::class);नियंत्रक मिडलवेयर
कंस्ट्रक्टर में middleware() विधि का उपयोग करके विशिष्ट क्रियाओं पर मिडलवेयर लागू करें।
<?php
public function __construct()
{
$this->middleware("auth")->except(["index", "show"]);
}निर्भरता इंजेक्शन
क्रिया विधि के पैरामीटर में सेवाओं का प्रकार संकेत करें — Laravel उन्हें सेवा कंटेनर से हल कर देता है।
<?php
public function store(Request $request, Mailer $mailer): JsonResponse
{
// $mailer is auto-injected
}उत्तर लौटाना
नियंत्रक ये लौटा सकते हैं: दृश्य, रीडायरेक्ट, JSON उत्तर और फ़ाइल डाउनलोड।
<?php
return view("users.show", compact("user"));
return redirect()->back()->with("status", "Saved!");
return response()->json($user);
return response()->download(storage_path("report.pdf"));नियंत्रक का नामस्थान
डिफ़ॉल्ट रूप से सभी नियंत्रक App\Http\Controllers में रहते हैं। उपनिर्देशिकाएँ उप-नामस्थान बनाती हैं: App\Http\Controllers\Admin\UserController।
नियंत्रकों को हल्का रखना
नियंत्रकों को व्यावसायिक तर्क सेवा क्लासों या क्रियाओं को सौंपना चाहिए। ऐसे नियंत्रक बनाने का लक्ष्य रखें जो केवल ये काम करें: इनपुट का सत्यापन, किसी सेवा को कॉल करना और उत्तर लौटाना।
सारांश
Artisan से नियंत्रक बनाएँ। अपने-आप जोड़ने के लिए Request और सेवाओं का प्रकार संकेत करें। इनपुट सत्यापन के लिए validate() का उपयोग करें। नियंत्रकों को हल्का रखें — काम सेवाओं को सौंपें।
त्वरित जाँच
कौन-सी Artisan कमांड संसाधन नियंत्रक बनाती है?
एआई शिक्षक के साथ PHP सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 49
- पाठ
- 195
अक्सर पूछे जाने वाले प्रश्न
क्या “नियंत्रक और कार्रवाइयाँ” पाठ निःशुल्क है?
हाँ—“नियंत्रक और कार्रवाइयाँ” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“नियंत्रक और कार्रवाइयाँ” में मैं क्या सीखूँगा?
artisan से नियंत्रक बनाएँ और कार्रवाई विधियों में अनुरोध संभालें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“नियंत्रक और कार्रवाइयाँ” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Laravel प्रोजेक्ट संरचना
- Laravel में रूट परिभाषित करना
- नियंत्रक और कार्रवाइयाँ
- Blade टेम्पलेट और व्यू