Önceki yazılarımızda Liman'da bulunan eklentilerin genel yapısını anlatmıştık. Buradan ulaşabilirsiniz. Bu yazımızda ise eklenti içerisinde nasıl geliştirmeler yapacağımızı anlatacağım.
Örnek olarak sunucu adını veren bir eklenti yazalım.
İlk olarak yeni bir eklenti oluşturalım. Sistem Ayarları > Eklenti > Yeni diyerek eklenti oluşturma modal'ına ulaşabilirsiniz. Ardından eklenti ismini belirleyerek eklentiyi oluştururuz.
Bu eklentide iki adet dosya kullanılacaktır. Bunlardan biri index.blade.php front-end kodlarını içerecek. Diğer dosya ise back-end kodlarını içerecek olan functions.php dosyasıdır.
Aşağıda index.blade.php dosyasının içeriğini görmektesiniz.
<div id="hostname"></div>
<script>
showSwal('{{(__("Yükleniyor"))}}','info',2000);
let form = new FormData();
request('{{API('hostname')}}',form,function (response) {
json = JSON.parse(response),
$('#hostname').html(json.message);
},function(error){
$('#hostname').innerHTML = "Hata oluştu";
});
</script>
İlk olarak oluşturulan div hostname'in yazdırılacağı yerdir. Javascript kodlarında ise bulunan showSwal Limanın hazır fonksiyonlarından biridir. Gerekli parametreleri verip istediğimiz swalı oluşturmamızı sağlamaktadır. Ardından bir form oluşturulmaktadır. Eğer back-end kısmına bir veri yollamak istersek form.append("deger",deger);
şeklinde veriyi back-end'e form ile yollayabiliriz. Şimdilik biz boş yollayacağız.
Sonrasında bir request gönderilir. Bu request back-end de bulunan hostname adlı fonksiyona gidip oradaki işlemler sonucu döndürülen cevabı response değişkeni olarak geri almaktadır. Değişken json olarak geldiğinden önce parse edilmektedir. Sonrasında gelen sonuç hostname adlı div'e yazdırılmaktadır.
Aşağıda functions.php dosyasının içeriğini görmektesiniz.
<?php
function index(){
return view('index');
}
function hostname(){
return respond(runCommand("hostname"),200);
}
?>
index fonksiyonu index.blade.php'yi döndüren bir fonsiyondur. hostname fonksiyonu ise runCommand fonksiyonu ile sunucunun hostname'ni öğrenip döndürmektedir. runCommand fonksiyonu Limanın fonksiyonlarındandır. Bu fonksiyon sayesinde sunucuda linux komutlarını çalıştırabilmekteyiz.
Sonuç olarak aşağıdaki çıktıyı vermektedir.
Top comments (0)