Controllers Laravel uygulama mantığını işlemekten ve modeller ile görünümler arasındaki etkileşimi kolaylaştırmaktan sorumlu sınıflardır. Controllers açık ve sürdürülebilir bir proje yapısı oluşturarak uygulama mantığını kullanıcı arayüzünden ayırmaya yardımcı olur.
Denetleyici oluştur
içinde bir denetleyici oluşturmak için 'nin Artisan komutunu Laravel kullanabilirsiniz. Laravel Örneğin, adlı bir denetleyici oluşturmak için UserController
terminalde aşağıdaki komutu çalıştırabilirsiniz:
php artisan make:controller UserController
Denetleyici oluşturulduktan sonra, denetleyici içinde işleme yöntemlerini tanımlayabilirsiniz. Örneğin, yöntemde index()
, bir modelden veri alabilir ve görüntüleme için bir görünüme iletebilirsiniz:
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
}
Yukarıdaki örnekte, User
veritabanından kullanıcı verilerini almak için modeli kullanıyoruz. users.index
Daha sonra, bir kullanıcı listesini görüntülemek için bu verileri görünüme aktarıyoruz .
Controllers store()
ayrıca veri oluşturma, güncelleme ve silme işlemlerini gerçekleştirmek için, update()
ve gibi yöntemleri de destekler delete()
. Bu yöntemlerle veritabanı ile etkileşim kurabilirsiniz.
konut controller
_ route
controller
Bir in kullanmak için, dosyada adı ve ilgili yöntemi route
belirtebilirsiniz. controller
routes/web.php
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Bu örnekte, bir kullanıcı URL'ye eriştiğinde /users
, isteği işlemek için içindeki yöntemi Laravel çağıracaktır. index()
UserController
Kullanıcı listesi ekranı için bir görünüm oluşturun
Dosyayı oluşturmak için users.index
aşağıdaki komutu kullanabilirsiniz:
php artisan make:view users.index
index.blade.php
Bu komut dizinde bir dosya yaratacaktır resources/views/users
.
Dosya oluşturulduktan sonra, dosyayı açabilir index.blade.php
ve sayfa için arayüz tasarlayabilirsiniz users.index
. HTML yapısını oluşturmak ve denetleyiciden gelen verileri görüntülemek için Blade sözdizimini kullanabilirsiniz.
<!-- 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
Yukarıdaki örnekte, app.blade.php
aracılığıyla düzeni kullanıyoruz @extends('layouts.app')
. Sayfanın içeriği içinde tanımlanır ve bir döngü içindeki değişkenden @section('content')
kullanıcıların bir listesini görüntüler. $users
@foreach
Sayfayı kullanmak için, denetleyicideki yöntemi işaret edecek ve görünümü döndürecek şekilde dosyada users.index
ilgili yolu tanımlamanız gerekir. routes/web.php
users.index
Özet olarak, uygulama mantığını ayırmaya ve veri işlemeyi yönetmeye yardımcı olur controllers. Laravel kullanarak controllers, güçlü ve sürdürülebilir uygulamalar oluşturabilirsiniz Laravel.