# Dosya ve Dizin Yapısı

```bash
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.&#x20;
  * **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.&#x20;
  * **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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liman.dev/eklenti-gelistirme/genel-bilgiler/dizin-yapisi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
