DEV Community

Cover image for Liman için eklenti geliştirme
Mustafa AKBEL for Liman

Posted on

2 3

Liman için eklenti geliştirme

Ö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.

Alt Text

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>

Enter fullscreen mode Exit fullscreen mode

İ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);
    }
?>
Enter fullscreen mode Exit fullscreen mode

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.

Alt Text

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs