Daha önceki yazımda laravel 4 üzeri kendi fonksiyonlarımızı & sınıflarımızı kullanmayı anlatmıştım şimdi ise laravel 5 üzeri anlatacağım arkadaşlar.
Laravel 5 de bu iş biraz daha kolay diye biliriz öncelikle sınıflarımızın düzenli olması için app dizini altına sınıflarımızı tutacağımız dizini ( klasörü ) oluşturuyoruz ben buna Siniflar dedim burada büyük küçük harflere dikkat ediniz. daha sonra bunun adında sınıfı oluşturdum sınıfıma isim olarak ise Sinif dedim burada dikkat etmeniz gereken nokta sınıf adı ile dosya adı aynı olmak zorunda yani Sinif için olması gereken Sinif.php daha sonra içinde örnek bir method oluşturdum buna ise yeniMethod adını verdim sınıfı oluştururken l4 e göre yapmamız gereken farklı bir işlem var namespace tanımlamalısınız biz az önce sınıflarımızı Siniflar dizininde tutacağımız için şu şekilde namespace’i belirtmeliyim
namespace App\Siniflar;
örnek sayıyı kendisi ile çarpan bir methodumuz olan sınıfımız olsun bunun için örnek şu şekilde ;
<?php namespace App\Siniflar; /** * @author Savaş Can ALTUN <[email protected]> * Laravel 5 Example Class */ class Sinif { /** * @return int */ public static function yeniMethod($parametre){ return $parametre*$parametre; } }
sınıfımızı oluşturma işlemi bu kadar şimdi bunu nasıl kullanacağımıza gelecek olursak örnek bir controller üzeri işlem gerçekleştirelim.
HomeController dosyamızdaki index methodu içinde bu sınıfı kullanalım ;
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use App\Siniflar\Sinif; class HomeController extends Controller { public function index(){ return Sinif::yeniMethod('5'); } }
burada göreceğiniz gibi use ile sınıfımızı dahil etmemiz gerekiyor bunun kullanımı ise dizin/sinifadi şeklinde yani yukarıda Siniflar diye oluşturup içine Sinif ‘ı koymuştuk o yüzden şu şekilde kullanmalıyız
use App\Siniflar\Sinif;
daha sonra sınıfımızı klasik bir biçimde başlatıp method’a erişe biliyoruz işte bu kadar basit.
Detaylı şekilde anlatmaya çalıştım arkadaşlar umarım anlata bilmişimdir :)