Dosya ve Dizin Yapısı

Liman eklentilerinin dizin yapısından ve klasörlerin ne işe yaradığını öğreneceğiz.

liman@pardus:/liman/extensions/ornekeklentim$ tree
├── routes.php
├── composer.json
├── db.json
├── app
│   ├── Controllers
│   ├── Helpers
│   └── Tasks
├── lang
├── public
│   ├── css
│   └── js
├── scripts
├── vendor
└── views
    ├── hostname
    ├── layouts
    ├── runscript
    ├── sandbox
    ├── systeminfo
    ├── taskview
    ├── index.blade.php
    └── scripts.blade.php
  • routes.php Controller rotalarımızı tanımladığımız dosya.

  • composer.json Composer ile paket yükleyebilmek için bulunması gereken dosya.

  • db.json Eklentinizin veritabanı kullanması için gereken konfigürasyon dosyası.

  • app Eklentimizin arka yüzünü bulunduran klasör.

    • Controllers Kontrolcülerimizi bulunduran klasör. Arka yüzde çalışan işlemlerin hepsi bu klasör içerisindeki dosyalarda yazılır.

    • Helpers/Helper.php Yardımcı fonksiyonlarınızı bu kısıma yazarsınız. Örneğin bir portun açık olup olmadığını kontrol eden fonksiyon.

    • Tasks Görevleri oluşturduğumuz ve çalıştıracağı komutları belirlediğimiz klasör.

  • lang Yerelleştirme dosyalarını bulunduran bir klasör.

  • public Eklentinin içinde kullanılacak, tüm eklenti genelinde yüklenmesini istediğimiz JavaScript ve CSS dosyalarını ekleyebileceğimiz klasör. Örnek kullanım eklenti şablonunda mevcuttur.

  • scripts Bu klasöre runScript ile sistem üzerinde çalıştırmak istediğimiz betikleri koyarız. Örneğin sambaOlustur.py ve enableWinrm.ps1 gibi.

  • vendor Composer dosyalarını ve class autoloader içeren klasör. Bu klasörde düzenleme yapmayacağız.

  • views Bu klasörde açılan alt klasörler sekmeli eklenti yapısının her bir sekmesi içindir. Bu klasörler de içerisinde main.blade.php ve scripts.blade.php içermektedir. Scriptlerin Javascript yerine blade ile eklenmesinin sebebi yerelleştirme, dinamik rotalar ve PHP ile çıktı alınması gereken bazı kısımların varlığındandır.

    • index.blade.php & scripts.blade.php index dosyamız içerisinde sekmelerimizi oluştururuz ve sekmelerin alt viewlarını include ederiz. Scripts dosyamızda ise tüm tablar geneli çalışmasını istediğimiz PHP bağımlı Javascript kodlarımızı yazabiliriz.

Last updated