Creare un controller
laravel'deOluşturmak için controller
, kullandığımız işletim sistemine göre komut istemini veya terminali açmalı ve aşağıdaki komutu kullanarak denetleyici oluşturmak için aşağıdaki komutu yazmalıyız. Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Yer değiştirmek <controller-name>
senin adınla controller
. Bu yaratacak controller
. controller
oluşturulan görüntülenebilir app/Http/Controllers
.
Bazı temel kodlamaların sizin için zaten yapıldığını göreceksiniz ve kendi özel kodlamanızı ekleyebileceksiniz. bu controller
oluşturulan web.php'den aşağıdaki söz dizimi ile çağrılabilir.
Route::get(‘base URI’,’controller@method’);
1 : Oluşturmak için aşağıdaki komutu çalıştırın MyController
php artisan make:controller MyController
2 – Başarıyla çalıştırdıktan sonra aşağıdaki çıktıyı alacaksınız.
3 – Oluşturulan denetleyiciyi bulacağız app/Http/Controller/MyController.php
önceden yazılmış bazı temel kodlarla ve gerektiğinde değişiklikler yapabiliriz.
biz zaten gördük middleware
ve ayrıca şununla da kullanabiliriz: controller
. middleware
ayrıca denetleyici yoluna veya denetleyici yapıcısına atanabilir. yöntemi kullanabilirsiniz middleware
atamak middleware
al controller
. middleware
tescili ayrıca belirli yöntemlerle sınırlandırılabilir. controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Burada, profil yolundaki UserController'a kimlik doğrulama ara yazılımı atıyoruz.
<?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 atama yapıyoruz middleware
kimlik doğrulama yöntemi kullanarak middleware
yapıcıda Denetleyicim .
Dikkat $this->middleware()
Funziona sadece yapıcıda atarsanız. eğer ararsak $this->middleware()
belirli bir denetleyici yönteminden, herhangi bir hata atmaz, ancak ara katman yazılımı gerçekten çalışmaz.
Bu seçenek geçerlidir, ancak Şahsen tüm ara katman yazılımını içine koymayı tercih ederim routes
, çünkü tüm bilgileri nerede arayacağınız daha net middleware
.
1 – Aşağıdaki kod satırlarını dosyaya ekleyelim rotalar/web.php ve kurtarıyoruz.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Hadi oluşturalım middleware
aranan FirstMiddleware
aşağıdaki kod satırını çalıştırarak.
php artisan make:middleware FirstMiddleware
3 : yöntemde aşağıdaki kodu ekleyin sap del FirstMiddleware
yeni oluşturuldu uygulama/Http/Ara yazılım .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 – Hadi oluşturalım middleware
aranan İkinciAra Katman aşağıdaki komutu çalıştırarak.
php artisan make:middleware SecondMiddleware
5 : tanıtıcının handle yöntemine aşağıdaki kodu ekleyelim. SecondMiddleware
yeni oluşturuldu uygulama/Http/Ara yazılım .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : oluşturalım controller
aranan Denetleyicim aşağıdaki satırı çalıştırarak.
php artisan make:controller MyController
7 – URL başarılı bir şekilde yürütüldükten sonra aşağıdaki çıktıyı alacaksınız –
8 – Aşağıdaki kodu dosyaya 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 – Şimdi, henüz yapmadıysanız, aşağıdaki komutu çalıştırarak dahili php web sunucusunu başlatalım.
php artisan serve
10 – Aşağıdaki URL'yi ziyaret edin.
http://localhost:8000/mycontroller/path
11 – Çıktı aşağıdaki resimde gösterildiği gibi görünecektir.
Neredeyse her iki ara katman yazılımı da söz konusudur, ancak yalnızca biri
Controller
di restful resource
Genellikle bir uygulama oluştururken bir şeyler yapmanız gerekir. CRUD (Create, Read, Update, Delete)
. Laravel bu işi kolaylaştırır. sadece bir tane oluştur controller
ve Laravel, işlemler için tüm yöntemleri otomatik olarak sağlayacaktır. CRUD
. Dosyadaki tüm yöntemlere tek bir yol da kaydedebiliriz. route.php
.
1 : adlı bir denetleyici oluşturun MyController
aşağıdaki komutu çalıştırarak.
php artisan make:controller MyController
2 : aşağıdaki kodu ekleyin 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 – Aşağıdaki kod satırını dosyaya ekleyelim routes/web.php
.
Route::resource('my','MyController');
4 – Artık bir denetleyiciyi kaynağa kaydederek tüm Denetleyicim yöntemlerini kaydediyoruz. Kaynak denetleyicisi tarafından yönetilen eylemlerin tablosu aşağıdadır.
Fiil | Yol | Action | Rota Adı |
---|---|---|---|
GET | / benim | indeks | benim.dizim |
GET | /benim/yaratım | yaratmak | benim.create |
POST | / benim | mağaza | benim hikayem |
GET | /benim benim} | şov | Benim şovum |
GET | /benim/{benim}/düzenle | düzenleme | benim düzenlemem |
KOY / YAMA | /benim benim} | güncelleştirme | güncellemem |
SİL | /benim benim} | yıkmak | benim.yok et |
5 – Aşağıdaki tabloda gösterilen URL'leri çalıştırmayı deneyin.
URL | tanım | çıkış |
---|---|---|
http://localhost:8000/my | MyController.php'nin indeks yöntemini yürütün | indeks |
http://localhost:8000/my/create | MyController.php'nin oluşturma yöntemini yürütün | yaratmak |
http://localhost:8000/my/1 | MyController.php'nin show yöntemini yürütün | şov |
http://localhost:8000/my/1/edit | MyController.php'nin düzenleme yöntemini yürütün | düzenleme |
Ercole Palmeri
Microsoft Excel, veri analizi için referans aracıdır, çünkü veri kümelerini düzenlemek için birçok özellik sunar,…
2017 yılından bu yana Gayrimenkul Kitlesel Fonlaması alanında Avrupa'nın liderleri arasında yer alan Walliance, SIM ve platform, tamamlandığını duyurdu…
Filament, çeşitli tam yığın bileşenleri sağlayan "hızlandırılmış" bir Laravel geliştirme çerçevesidir. İşlemleri basitleştirmek için tasarlanmıştır…
«Evrimimi tamamlamak için geri dönmeliyim: Kendimi bilgisayarın içine yansıtacağım ve saf enerjiye dönüşeceğim. Bir kez yerleştikten sonra…
Google DeepMind, yapay zeka modelinin geliştirilmiş bir versiyonunu sunuyor. Yeni geliştirilmiş model yalnızca…
Zarif sözdizimi ve güçlü özellikleriyle ünlü Laravel, modüler mimari için de sağlam bir temel sağlar. Orada…
Cisco ve Splunk, müşterilerin geleceğin Güvenlik Operasyon Merkezine (SOC) olan yolculuklarını hızlandırmalarına yardımcı oluyor…
Fidye yazılımı son iki yıldır haberlere hakim oldu. Çoğu insan saldırıların farkındadır…