PHP Yardımcı Fonksiyonları

Liman üzerinde eklentilerle kullanabileceğiniz PHP yardımcı fonksiyonların listesi.

checkPort

checkPort fonksiyonu bizim için bir portun açık olup olmadığını kontrol etmekte buna göre bir boolean yanıtı döndürmektedir. Fonksiyonu kullanabilmek için iki adet argüman sağlamanız gerekmektedir.

Argüman

Açıklama

Veri Tipi

$ip

IP adresi yazmanız gerekmektedir.

String

$port

Port numarası belirtmeniz gerekmektedir.

Integer

(Return)

Fonksiyonun geri döndürdüğü değer

Boolean

Request

PHP tarafındaki request fonksiyonu bizim kontrolcümüze POST ile gönderilmiş değişkenleri yakalamamızı sağlar. Örneğin bir inputtan clientHostname isimli bir veri gönderdiysek bunu PHP tarafında request("clientHostname") olarak kolayca yakalayabiliriz.

Argüman

Açıklama

Veri Tipi

$name

Attığınız requestteki key ismi

String

server, user, extension

Bu helperlar Laravel tarafındaki server, user, extension modellerini getirmektedir. server()->name örnek bir kullanımdır. Detaylarını anlayabilmek için eklenti kodlarınızda dump(server()) tarzı bir kullanım yaparsanız içeriğini görüntüleyebilirsiniz.

Respond

Yanıt döndürme fonksiyonudur. İki argüman almaktadır. JSON olarak karşıya veri getirir, dönen verinin örnek tipi aşağıdaki gibidir.

{"message": "pardus", "status": 200}

Anlaşılacağı üzere fonksiyon da iki adet argümanı mesaj ve durum kodu olarak almaktadır. Yukarıdaki yanıtı alabilmek için fonksiyonu aşağıdaki gibi çalıştırırız.

return respond("pardus", 200);

Argüman

Açıklama

Veri Tipi

$message

Mesajınızı veya döndürmek istediğiniz PHP, HTML herhangi bir veriyi gönderirsiniz.

Auto

$status

HTTP durum kodlarından birini istediğiniz şekilde gönderiniz. 200 başarılı anlamına gelmektedir.

Integer

View

View fonksiyonu controlleriniz üzerinden bir view dosyasını renderlamanızı sağlamaktadır. Örnek olarak aşağıdaki gibi görebiliriz.

return view("table", [
    "value" => $files,
    "title" => ["İsim", "İzinler", "Sahip", "Grup", "Dosya Boyutu", "Son Değiştirilme"],
    "display" => ["name", "permissions", "user", "group", "size", "date"]
]);

Validate

Validate fonksiyonu Laravel üzerindeki gibi çalışmaktadır. Genel kurallarına ve örnek kullanıma Validation - Laravel Docs kısmından ulaşabilirsiniz.

Kullanım şekli olarak Laravel ile birebir uyuşmasa da kuralların yazıldığı kısım birebir uyuşmaktadır. Gelin bir örnek kullanıma bakalım.

validate([
    'username' => 'required|string',
    'password' => 'required|string'
]);

validate fonksiyonu bir kontrolcü fonksiyonunun başında çağırılır. Aldığı tek argüman kurallar listesidir. Kuralların kullanımında örnek kullanım yukarıdaki gibidir. Örnek olarak listenin ilk elemanından bahsedelim. Bize form data ile gönderilmiş olan username verisi request("username") ile eşleşmektedir. Bu eşleşme uyduğunda doğrulayıcı fonksiyonumuz value olarak verdiğimiz required|string kurallarına göre request("username") verisini doğrulayacaktır. Eğer doğrulanamazsa da kontrolcü fonksiyonunun çalışması durdurulup, mesaj olarak doğrulanamadığına dair hata mesajı dönecektir.

Argüman

Açıklama

Veri Tipi

$rules

Kuralların olduğu liste.

Array

Validation - Laravel Docs sayfasından validation fonksiyonunun detaylı dokümanına ulaşabilirsiniz.

Laravel Helpers

Liman eklenti sandboxu üzerinde Laravel Helpers paketi çalışmaktadır. Bu paket ile Array ve Object manipülasyonları, dosya yolu yardımı, string manipülasyonları, fluent string manipülasyonları, URL işlemleri ve çeşitli ek fonksiyonlar (dump, abort, retry, response, bcrypt, view...) yer almaktadır. Bu paketin yer alması neredeyse Laravel üzerinde çalışan çoğu fonksiyonu eklentilerinizde de kullanabileceğiniz anlamına gelmektedir.

https://laravel.com/docs/8.x/helpers adresinden detaylı dokümana ulaşabilirsiniz.

Kendi Helperlarınızı Geliştirin

Kendi özel helperlarınızı geliştirmek için eklenti klasörünüz içerisinde app/Helper/Helpers.php içerisinde daha önce tanımladığımız checkPort fonksiyonuna bakarak tanımlama yapabilirsiniz, daha önceden topluluk tarafından geliştirilmiş Helper dosyalarını incelemek için Liman Market'ten indirdiğiniz açık kaynaklı eklenti kodlarına da göz atabilirsiniz. zekiahmetbayar/liman-sambahvl örnek eklentisinde sistemdeki sertifika kontrolleri için ve LDAP bağlantı kontrolü için de yardımcı fonksiyonlar geliştirilmiştir.

Last updated