Eklentilerde rotaların görevi tam olarak nedir, ne yapar?
Routing, request işlemlerinde kullanılabilecek, karmaşık kuralları kolaylıkla yönetebilme özelliği (GET, POST gibi HTTP methods, middleware gibi) ile öne çıkar. Routing işleminde işlemler route’lar (path) üzerinden yürütülür. Bu sayede URL eşleştirme işlemleri farklı amaçlarla gerçekleştirilebilmektedir. Bu işlem farklı bir şekilde ele alınsa da (client request) kullanıcılar/ziyaretçiler ve arama motorları URL’lerdeki gibi web sitesinde ve/veya uygulamasında anlamlı sonuçlara (endpoint) ulaşabilirler. Örneğin, /inbox/1/msg/2
gibi bir URL’de ilk path /inbox
sonrası ise bu path’in iç yapıları olarak (routing tree) nitelendirilebilirler.
Biz Liman içerisinde rota işlemlerine bu kadar karmaşık yaklaşmıyoruz. Gelin nasıl incelediğimize bakalım.
Biz eklentilerde rotalara daha çok REST mantığıyla baktığımızdan ve kod karmaşıklığını düşürmek istediğimizden Laravel'deki gibi kodu uzatmamaktayız.
Liman eklentilerinde rotalar sadece iki argüman alır.
Endpoint
Kontrolcü ismi @ Çağırılacak fonksiyon
Gelin örnek bir rota dosyasını inceleyelim.
Görüleceği üzere eklenti rotalarımız POST, GET, PUT, DELETE... gibi argümanlar almamaktadır. Eklentilerde kontrolcüleri API mantığı ile kullandığımız için ihtiyaç duymadık.
Bir rota tanımlamak için aşağıdaki gibi bir tanımlama yapmanız gerekmektedir.
Yukarıdaki tarzda tanımlama yaptığınızda bunu Javascript yardımcı fonksiyonlarımızdan request ile API("<ROTA_ISMI>") şeklinde çağırabilir. Bu çağrıdan sonra sorunsuz şekilde response alacaksınız ve bunu Javascript ile kullanarak ister bir içeriği manipüle edebilir, ister başka bir içerik oluşturabilirsiniz.