İçeriğe geç

Laravel Macro Nedir ve Kullanımı

Laravel macro ile var olan Laravel componentlarına metod ekleyebilirsiniz. App\Providers\AppServiceProvider dosyasındaki boot() metoduna tanımlamayı yapabilirsiniz.

public function boot()
{
    Str::macro('isLength', function ($str, $length) {
        return static::length($str) == $length;
    });
}

Kullanımı ise şu şekilde olacaktır.

use Illuminate\Support\Str;
dd(Str::isLength('This is a Laravel Macro', 23)); // true

Macroable trait’ine sahip tüm componentlarda Macro kullanabilirsiniz. Liste şu şekilde;

Illuminate\Auth\RequestGuard
Illuminate\Auth\SessionGuard
Illuminate\Cache\Repository
Illuminate\Console\Command
Illuminate\Console\Scheduling\Event
Illuminate\Cookie\CookieJar
Illuminate\Database\Eloquent\FactoryBuilder
Illuminate\Database\Eloquent\Relations\Relation
Illuminate\Database\Grammar
Illuminate\Database\Query\Builder
Illuminate\Database\Schema\Blueprint
Illuminate\Filesystem\Filesystem
Illuminate\Foundation\Testing\TestResponse
Illuminate\Http\JsonResponse
Illuminate\Http\RedirectResponse
Illuminate\Http\Request
Illuminate\Http\Response
Illuminate\Http\UploadedFile
Illuminate\Mail\Mailer
Illuminate\Routing\PendingResourceRegistration
Illuminate\Routing\Redirector
Illuminate\Routing\ResponseFactory
Illuminate\Routing\Route
Illuminate\Routing\Router
Illuminate\Routing\UrlGenerator
Illuminate\Support\Arr
Illuminate\Support\Collection
Illuminate\Support\LazyCollection
Illuminate\Support\Str
Illuminate\Support\Testing\Fakes\NotificationFake
Illuminate\Translation\Translator
Illuminate\Validation\Rule
Illuminate\View\Factory
Illuminate\View\View
Kategori:LaravelLaravel Advanced

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir