Creare un controller
laraveldəyaratmaq üçün a controller
, istifadə etdiyimiz əməliyyat sisteminə uyğun olaraq əmr satırını və ya terminalı açmalıyıq və istifadə edərək nəzarətçi yaratmaq üçün aşağıdakı əmri yazmalıyıq. Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Əvəz edin <controller-name>
sənin adınla controller
. Bu yaradacaq controller
. The controller
yaradılmışdır app/Http/Controllers
.
Bəzi əsas kodlaşdırmanın artıq sizin üçün edildiyini görəcəksiniz və siz öz xüsusi kodlaşdırmanızı əlavə edə bilərsiniz. The controller
yaradılmış web.php-dən aşağıdakı sintaksislə çağırıla bilər.
Route::get(‘base URI’,’controller@method’);
1 : Yaratmaq üçün aşağıdakı əmri yerinə yetirin MyController
php artisan make:controller MyController
2 – Uğurlu icradan sonra aşağıdakı nəticəni alacaqsınız.
3 – Yaradılmış nəzarətçini tapacağıq app/Http/Controller/MyController.php
bəzi əsas kodlar artıq yazılmışdır və biz lazım olduqda dəyişikliklər edə bilərik.
Biz artıq görmüşük middleware
ilə də istifadə edə bilərik controller
. The middleware
o, həmçinin nəzarətçi marşrutuna və ya nəzarətçi konstruktoru daxilində təyin edilə bilər. Metoddan istifadə edə bilərsiniz middleware
təyin etmək middleware
al controller
. The middleware
Qeydə alınmış müəyyən üsullarla da məhdudlaşdırıla bilər controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Burada biz profil yolunda UserController-ə autentifikasiya ara proqramını təyin edirik.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('auth');
}
}
Burada biz təyin edirik middleware
autentifikasiya metodundan istifadə etməklə middleware
konstruktorda MyController .
Qeyd edək ki $this->middleware()
işləyir yalnız onu konstruktorda təyin etsəniz. Zəng etsək $this->middleware()
xüsusi nəzarətçi metodundan heç bir səhv atmayacaq, lakin ara proqram əslində işləməyəcək.
Bu seçim etibarlıdır, lakin şəxsən bütün ara proqram təminatını daxil etməyə üstünlük verirəm routes
, çünki bütün bunları harada axtarmaq lazım olduğu daha aydındır middleware
.
1 – Fayla aşağıdakı kod sətirlərini əlavə edək marşrutlar/web.php və qənaət edirik.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 - Gəlin a yaradaq middleware
çağırdı FirstMiddleware
aşağıdakı kod xəttini işlətməklə.
php artisan make:middleware FirstMiddleware
3 : metoda aşağıdakı kodu əlavə edin idarə the FirstMiddleware
yeni yaradılmışdır app/Http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 - Gəlin a yaradaq middleware
çağırdı SecondMiddleware aşağıdakı əmri işlətməklə.
php artisan make:middleware SecondMiddleware
5 : nin sapı metoduna aşağıdakı kodu əlavə edək SecondMiddleware
yeni yaradılmışdır app/Http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : a yaradaq controller
çağırdı MyController aşağıdakı xətti işlətməklə.
php artisan make:controller MyController
7 – URL uğurla icra edildikdən sonra aşağıdakı nəticəni alacaqsınız –
8 – Aşağıdakı kodu fayla kopyalayın app/Http/MyController.php
.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('Second');
}
public function showPath(Request $request) {
$uri = $request->path();
echo '<br>URI: '.$uri;
$url = $request->url();
echo '<br>';
echo 'URL: '.$url;
$method = $request->method();
echo '<br>';
echo 'Method: '.$method;
}
}
9 – İndi, əgər siz hələ etməmisinizsə, aşağıdakı əmri işlətməklə php daxili veb serverini işə salaq.
php artisan serve
10 – Aşağıdakı URL-i ziyarət edin.
http://localhost:8000/mycontroller/path
11 – Çıxış aşağıdakı şəkildə göstərildiyi kimi görünəcək.
Faktiki olaraq hər iki orta proqram iştirak edir, lakin yalnız bir
Controller
di restful resource
Tez-tez bir proqram yaratarkən bir şey etməlisiniz CRUD (Create, Read, Update, Delete)
. Laravel bu işi asanlaşdırır. Sadəcə yaradın controller
və Laravel avtomatik olaraq əməliyyatlar üçün bütün üsulları təmin edəcək CRUD
. Biz həmçinin fayldakı bütün metodlara tək bir yol qeyd edə bilərik route.php
.
1 : adlı nəzarətçi yaradın MyController
aşağıdakı əmri işlətməklə.
php artisan make:controller MyController
2 : aşağıdakı kodu əlavə edin app/Http/Controllers/MyController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function index() {
echo 'index';
}
public function create() {
echo 'create';
}
public function store(Request $request) {
echo 'store';
}
public function show($id) {
echo 'show';
}
public function edit($id) {
echo 'edit';
}
public function update(Request $request, $id) {
echo 'update';
}
public function destroy($id) {
echo 'destroy';
}
}
3 – Fayla aşağıdakı kod sətirini əlavə edək routes/web.php
.
Route::resource('my','MyController');
4 – İndi nəzarətçini resursla qeyd etməklə MyController-in bütün üsullarını qeydiyyatdan keçiririk. Aşağıda resurs nəzarətçisi tərəfindən idarə olunan hərəkətlər cədvəli verilmişdir.
Fe'l | Yol | fəaliyyət | Marşrutun adı |
---|---|---|---|
GET | / mənim | indeks | mənim indeksim |
GET | /mənim/yarat | yaratmaq | my.create |
POST | / mənim | saxlamaq | my.mağaza |
GET | /mənim/{mənim} | Göstərmək | mənim.şou |
GET | /mənim/{mənim}/edit | redaktə etmək | my.edit |
PUT/PATCH | /mənim/{mənim} | yeniləmə | my.update |
DELETE | /mənim/{mənim} | məhv etmək | mənim. məhv etmək |
5 – Aşağıdakı cədvəldə göstərilən URL-ləri işə salmağa çalışın.
URL | Təsvir | Çıx |
---|---|---|
http://localhost:8000/my | MyController.php-nin indeks metodunu icra edin | indeks |
http://localhost:8000/my/create | MyController.php-nin yaratma metodunu icra edin | yaratmaq |
http://localhost:8000/my/1 | MyController.php-nin şou metodunu icra edin | Göstərmək |
http://localhost:8000/my/1/edit | MyController.php-nin redaktə üsulunu yerinə yetirin | redaktə etmək |
Ercole Palmeri
Google DeepMind süni intellekt modelinin təkmilləşdirilmiş versiyasını təqdim edir. Yeni təkmilləşdirilmiş model təkcə…
Zərif sintaksisi və güclü xüsusiyyətləri ilə məşhur olan Laravel, həmçinin modul arxitektura üçün möhkəm zəmin yaradır. Orada…
Cisco və Splunk müştərilərə gələcəyin Təhlükəsizlik Əməliyyatları Mərkəzinə (SOC) səyahətlərini sürətləndirməyə kömək edir...
Ransomware son iki ildə xəbərlərdə üstünlük təşkil edir. İnsanların çoxu yaxşı bilir ki, hücumlar...
Kataniya poliklinikasında Apple Vision Pro kommersiya görüntüləyicisi ilə oftalmoplastika əməliyyatı həyata keçirilib...
Rəngləmə yolu ilə incə motor bacarıqlarının inkişafı uşaqları yazı kimi daha mürəkkəb bacarıqlara hazırlayır. Rəngləmək üçün…
Dəniz sektoru 150 milyardlıq bazara doğru irəliləyən əsl qlobal iqtisadi gücdür...
Keçən bazar ertəsi Financial Times OpenAI ilə müqavilə elan etdi. FT dünya səviyyəli jurnalistikasına lisenziya verir...