Controllers Laravel એપ્લીકેશનના તર્કને હેન્ડલ કરવા અને મોડેલો અને દૃશ્યો વચ્ચેની ક્રિયાપ્રતિક્રિયાને સરળ બનાવવા માટે જવાબદાર વર્ગો છે. Controllers એપ્લીકેશન લોજીકને યુઝર ઈન્ટરફેસથી અલગ કરવામાં મદદ કરે છે, સ્પષ્ટ અને જાળવવા યોગ્ય પ્રોજેક્ટ માળખું બનાવે છે.
નિયંત્રક બનાવો
માં નિયંત્રક બનાવવા માટે Laravel, તમે Laravel આર્ટીસન આદેશનો ઉપયોગ કરી શકો છો. ઉદાહરણ તરીકે, નામનું નિયંત્રક બનાવવા માટે UserController
, તમે ટર્મિનલમાં નીચેનો આદેશ ચલાવી શકો છો:
php artisan make:controller UserController
એકવાર નિયંત્રક બની જાય, પછી તમે નિયંત્રકની અંદર હેન્ડલિંગ પદ્ધતિઓ વ્યાખ્યાયિત કરી શકો છો. ઉદાહરણ તરીકે, પદ્ધતિમાં index()
, તમે મોડેલમાંથી ડેટા પુનઃપ્રાપ્ત કરી શકો છો અને તેને પ્રદર્શન માટે દૃશ્યમાં પસાર કરી શકો છો:
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', ['users' => $users]);
}
// Other handling methods
}
ઉપરના ઉદાહરણમાં, અમે User
ડેટાબેઝમાંથી વપરાશકર્તા ડેટા પુનઃપ્રાપ્ત કરવા માટે મોડેલનો ઉપયોગ કરીએ છીએ. અમે પછી users.index
વપરાશકર્તાઓની સૂચિ પ્રદર્શિત કરવા માટે આ ડેટાને દૃશ્યમાં પસાર કરીએ છીએ.
Controllers store()
, update()
, અને delete()
ડેટા બનાવટ, અપડેટ અને કાઢી નાખવા જેવી પદ્ધતિઓને પણ સપોર્ટ કરે છે. તમે આ પદ્ધતિઓ દ્વારા ડેટાબેઝ સાથે સંપર્ક કરી શકો છો.
controller
માં રહે છે route
controller
in નો ઉપયોગ કરવા માટે route
, તમે controller
ફાઇલમાં નામ અને અનુરૂપ પદ્ધતિનો ઉલ્લેખ કરી શકો છો routes/web.php
.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
આ ઉદાહરણમાં, જ્યારે વપરાશકર્તા /users
URL ને ઍક્સેસ કરે છે, ત્યારે વિનંતીને હેન્ડલ કરવા માટે માં પદ્ધતિને Laravel કૉલ કરશે. index()
UserController
વપરાશકર્તા સૂચિ સ્ક્રીન માટે એક દૃશ્ય બનાવો
ફાઇલ બનાવવા માટે users.index
, તમે નીચેના આદેશનો ઉપયોગ કરી શકો છો:
php artisan make:view users.index
index.blade.php
આ આદેશ ડિરેક્ટરીમાં એક ફાઇલ બનાવશે resources/views/users
.
એકવાર ફાઇલ બની જાય, પછી તમે index.blade.php
ફાઇલ ખોલી શકો છો અને પૃષ્ઠ માટે ઇન્ટરફેસ ડિઝાઇન કરી શકો છો users.index
. તમે HTML માળખું બનાવવા અને નિયંત્રકમાંથી ડેટા પ્રદર્શિત કરવા માટે બ્લેડ સિન્ટેક્સનો ઉપયોગ કરી શકો છો.
<!-- resources/views/users/index.blade.php -->
@extends('layouts.app')
@section('content')
<h1>Users</h1>
<ul>
@foreach($users as $user)
<li>{{ $user->name }}</li>
@endforeach
</ul>
@endsection
ઉપરના ઉદાહરણમાં, અમે app.blade.php
દ્વારા લેઆઉટનો ઉપયોગ કરીએ છીએ @extends('layouts.app')
. પૃષ્ઠની સામગ્રી અંદર વ્યાખ્યાયિત થયેલ છે અને લૂપની અંદર ચલમાંથી @section('content')
વપરાશકર્તાઓની સૂચિ દર્શાવે છે. $users
@foreach
પૃષ્ઠનો ઉપયોગ કરવા માટે, તમારે નિયંત્રકમાં પદ્ધતિ તરફ નિર્દેશ કરવા અને દૃશ્ય પરત કરવા માટે ફાઇલમાં users.index
અનુરૂપ માર્ગને વ્યાખ્યાયિત કરવાની જરૂર છે. routes/web.php
users.index
સારાંશમાં, એપ્લિકેશનના તર્કને અલગ કરવામાં અને ડેટા પ્રોસેસિંગને હેન્ડલ કરવામાં મદદ કરે છે controllers. Laravel નો ઉપયોગ કરીને controllers, તમે માં શક્તિશાળી અને જાળવી શકાય તેવી એપ્લિકેશનો બનાવી શકો છો Laravel.