Laravel Ziggy Kullanımı

Laravel Ziggy

Merhaba arkadaşlar, bu konumuzda Ziggy nedir, kurulumu ve kullanımıyla ilgili bilgiler vereceğim.

Ziggy Nedir:

Ziggy laravel için geliştirilmiştir. Laravel’de ki isimlendirmiş olduğumuz route’ları javascript içinde kullanmamıza yarayan bir pakettir.

Kurulumu:

Kurulumu oldukca basit. Bilgisayarınızda composer kurulu olmalı. Daha sonra projenizin bulunduğu dizinde bir terminal açın şu kodu yazın.

composer require tightenco/ziggy

Kurulum tamamlandıktan sonra config/app.php dosyanızın içindeki provider dizisine Tightenco\Ziggy\ZiggyServiceProvider::class provideri ekleyin

Main (ana) blade dosyanızın başına @routes kodunu ekleyerek (Body başlangıcına ekleyebilirsiniz) bütün isimlendirmiş olduğunuz routelarınızı javascript içinde kullanabilirsiniz. Sadece istediğiniz routeları kullanmak için 3 yöntem vardır.

1. Yöntem:

routes/web.php dosyanızdaki routeları Whitelist ve Blacklist içine almaktır. Whitelist izin verdikleriniz Blacklist ise izin vermediklerinizdir.

Route::whitelist(function () {
    Route::get('...')->name('posts');
});
Route::whitelist()->get('...')->name('posts');

Route::blacklist(function () {
     Route::get('...')->name('posts'); }); Route::blacklist()->get('...')->name('posts');
2. Yöntem

config/ziggy.php dosyasını oluşturarak içerisine sadece izin verdiklerinizi yazabilirsiniz.

<?php
return [
 'groups' => [
        'admin' => [
            'admin.*',
            'posts.*',
        ],
        'author' => [
            'posts.*',
        ]
    ],
];
3. Yöntem
@routes(['posts.index','author','posts.show']) // Bu şekilde izin vermek istediğiniz route isimlerini girebilirsiniz.

Kullanımı:

Parametresiz: 

route('posts.index' // '/posts'

Parametreyle:

route('posts.show', {id: 1}) // '/posts/1'

route('posts.show', [1]) // '/posts/1'

route('posts.show',1) // '/posts/1'

Çoklu parametre:

route('events.venues.show', {event: 1, venue: 2}) // '/events/1/venue/2'

route('events.venues.show', [1, 2]) // '/events/1/venues/2'

Query parametre:

route('events.venues.show', {event: 1, venue: 2, page: 5, count: 10}) // '/events/1/venues/2?page=5&count=10'

Eğer nesne (object) verildiyse otomatik olarak id'yi birincil olarak alır:

let event = {id: 1, name: 'World Series'};
let venue = {id: 2, name: 'Rogers Centre'}; route('events.venues.show', [event, venue]) // '/events/1/venues/2'


Axios ile örnek kullanım:

let post = {id: 1, title: 'Ziggy Stardust'};
return axios.get(route('posts.show', post)).then(response =>{
return response.data;
});

Geçerli url alma:

route('posts.index').url() // 'http://localhost:8000/posts'

Geçerli route alma:

route().current() // 'posts.index'

Geçerli route'un url'sini alma:

route(route().current()).url() // 'posts.index'

Github adresini ziyaret ederek oradaki kullanımada bakabilirsiniz. https://github.com/tightenco/ziggy

“Laravel Ziggy Kullanımı” için bir yorum

Bir Cevap Yazın