Dosya ve Dizin Yapısı
"External/ dizini tüm projeleriniz için ortak dosya kullanımı sunar."
ZN Framework gelişmiş ve basit anlaşılır bir dizin yapısına sahiptir. Bu yapı aynı zamanda proje dosyalarınızı daha düzenli bir şekilde kategorize etmenizi sağlar. Böylece dosya karmaşıklığından kurtulup hangi dosya neredeydi algısına kapılmamış olursunuz
# Kök Dosya ve Dizinleri
ZN Framework'ü kurduğunuzda kök dizinde aşağıdaki dosya ve dizinlerin yer aldığını görürsünüz.
● Projects
● External
● internal
● Settings
● htaccess
● robots.txt
● zeroneed.php
● zerocore
Şimdi yukarıdaki dosya ve dizinlerin ne işe yaradıkları ve alt dosya ve dizin hakkında bilgi verelim.
# Projects
Bu dizinde projenizi geliştireceğiniz uygulamalar yer alır. İçinde varsayılan olarak Frontend/ ve Backend dizinleri bulunur. Projenizde birden fazla uygulama yapılması düşünülerek böyle bir dizin yapısı tasarlanmıştır.
● Frontend
● Backend
● htaccess
Frontend/ dizini uygulamanızın yer alacağı ön tanımlı dizindir. İçerisinde uygulama geliştirmenize yönelik gerekli dosyaların saklanacağı dizinler mevcuttur.
● Butchery
● Commands
● Config
● Controllers
● Databases
● Languages
● Libraries
● Models
● Resources
● Routes
● Starting
● Storage
● Views
● Butchery
Projeye entegre edilecek temanın dosyalarının bulundurulacağı dizindir. Temanın bu dizine taşınmasından sonra basit bir komutla tema sisteme otomatik olarak entegre edilir. Detaylı kullanım için tıklayınız.
● Commands
Konsol üzerinden çalıştırılmak istenen kodların sınıflar halinde bir komut dosyası haline getirildiği dizindir. Bu dizindeki her bir sınıf basit bir komutla konsol üzerinden çalıştırılabilir. Detaylı kullanım için tıklayınız.
● Config
Bu dizinde uygulamanıza ait yapılandırma ayar dosyaları yer alır. Veritabanı, Proje gibi yapıları ilgilendiren bu dizinde gerçekleştirilir.
● Controllers
Bu dizinde PHP kodlarının yer alacağı dosyalar yer alır. Bu bölüm HTML içerikli görünümleri çalıştıracak olan bölümdür. Adres çubuğuna yazılan URI'lerin çalıştıracağı kontrolcüler bu bölümde yer alır. Yani kodların çalıştırılacağı, kontrol edileceği ve yönlendirileceği bölümdür. Detaylı kullanım için tıklayınız.
● Databases
Bu dizinde oluşturmak istediğiniz veritabanı ve tablolarını dizayn etmek için kullanılır. Detaylı kullanım için tıklayınız.
Alt Dizin ve Dosyalar
● Actives
● Archives
● Actives
Aktif kullanılanacak veritabanı ve tablolar.
● Archives
Artık kullanılmayacak arşivlenecek veritabanı ve tablolar.
● Languages
Bu dizinde projenizde çoklu dil kullanacaksanız dillere göre çevrilecek kelimelerin veya cümlelerin yer aldığı bölümdür.
Alt Dizin ve Dosyalar
● en
● tr
● ml
● en
İngilizce kelimeler bu bölümde yer alır.
● tr
Türkçe kelimeler bu bölümde yer alır.
● ml
ML kütüphanesi ile oluşturulmuş dil dosyalarının bulunduğu dizindir. ML kütüphanesinin kullanımı için tıklayınız.
Farklı bir kullanacaksanız o dile ait kelimeleri tutacak yeni bir dizin ekleyebilirsiniz. Örnek: es/
● Libraries
Bu dizinde uygulamanız için geliştireceğiniz kişisel sınıflarınızın yer alacağı bölümdür. Sistem kütüphanelerinin yanında sizde kişisel veya dışarıdan dahil etmek istediğiniz sınıfları bu dizine atarak kullanabilirsiniz. Sınıflarını bu dizine attıktan sonra herhangi bir ayarlama yapmadan direk çağrım yapabilirsiniz.
● Models
Bu dizinde veritabanı kütüphanesini kullanarak oluşturacağınız daha pratik veritabanı kullanım sınıfları yer alır. Genellikle bu dizin uygulamanıza ait veritabanına yönelik sorgularınızın kullanımına yöneliktir. Sorgular sınıflar şeklinde oluşturulmalıdır. Detaylı kullanım için tıklayınız.
Alt Dizin ve Dosyalar
● Migrations
● Visions
● Migrations
Migration kütüphanesi tarafından oluşturulan göç dosyalarının tutulduğu dizindir. Detaylı kullanım için tıklayınız.
● Visions
Vizyon dosyalarının tutulduğu dizindir. Detaylı kullanım için tıklayınız.
● Resources
Bu dizinde uygulamanıza yönelik js, css, image gibi dosyaların yer alacağı bölümdür. Bu dizin bir çok alt dizinden oluşur.
Alt Dizin ve Dosyalar
● Files
● Plugins
● Templates
● Themes
● Uploads
● Files
Resim, Ikon gibi diğer dosyalar bu dizinde yer alır.
● Plugins
.js ve .css gibi paket dosyalar bu dizinde yer alır. Örnek: bootstrap/
● Templates
Birden fazla sayfada kullanacağınız ortak şablon dosyalar yer alır.
● Themes
js. ve .css gibi tema dosyaları bu dizinde yer alır. Örnek: bluetheme/
● Uploads
Ön tanımlı olarak yüklenen dosyalar bu dizinde yer alır.
● Routes
Bu dizinde yer alan rota dosyası veya dosyalarına URL yönlendirmeleri yazmak için kullanılır. Detaylı kullanım için tıklayınız.
● Starting
Bu dizinde uygulamanızın başlangıcında çalıştırılacak dosyalar yer alır. Genellikle uygulamanın tüm sayfalarında geçerli olan kodlar yer alır. Özellikle tüm sayfalar için sabit ve fonksiyon tanımlamak, kullanıcı giriş kontrolü yapmak için kullanışlı olabilir. Detaylı kullanım için tıklayınız.
Alt Dizin ve Dosyalar
● Autoload
● Handload
● Autoload
Otomatik olarak dahil edilmesini istediğiniz dosyalar yer alır.
● Handload
Manuel olarak dahil edilmesini istediğiniz dosyalar yer alır.
● Storage
Bu dizinde bazı kütüphaneler tarafından oluşturulan dosyaların tutulduğu dizinler yer alır. Veritabanı yedekleri, log kayıtları gibi dosyalar saklanır.
Alt Dizin ve Dosyalar
● Cache
● Crontab
● DatabaseBackup
● Logs
● Cache
Cache kütüphanesinin file driver'i tarafından oluşturulan dosyalar saklanır.
● Crontab
Crontab kütüphanesi tarafıdan oluşturulan debug.log dosyası saklanır.
● DatabaseBackup
DBTool::backup() yöntemi tarafından oluşturulan dosyalar saklanır.
● Logs
Log kayıtları bu dizinde saklanır.
● Views
Bu dizinde uygulamanıza ait HTML içerikli görünümlerin yer alacağı bölümdür. Yani web sayfalarınızın görünümü bu dizin içerisine oluşturulan dosyalarda yer alır. Bu görünüm sayfaları Controllers/ dizini içinde yer alan kontrolcüler tarafından kontrol edilir. Detaylı kullanım için tıklayınız.
Bu dosya Projects/ dizini ve alt dizinlerine erişimi engellemek için kullanılır.
# External
Bu dizinde tüm uygulamalarınız için geçerli olacak ortak dosyalar yer alır. Bu dizin sayesinde uygulamalarınızın tamamında ortak kullanımlardan yararlanabilirsiniz.
Alt dizinlerin ve dosyaların kullanımı Projects/ dizini altındaki yapılarla birebir aynıdır. Ancak burada yer alan dosyalar sistemin tümü için geçerli olur. Şayet 2 aynı dosyadan hem uygulama içinde hemde bu dizinde yer alıyorsa bu durumda uygulama içinde yer alan dosya öncelikli olur.
● Commands
● Controllers
● Languages
● Libraries
● Models
● Resources
● Routes
● Starting
# internal
Bu dizinde sistem ve uygulamalar için geçerli olan ortak dosyalar yer alır. Daha çok sistemin temel yapısını ilgilendirdiği için kullanıcıların müdahale etmesini gerektiren dizin değildir.
Sisteme ait kütüphaneler bulunmaktadır.
# Settings
Sistemin geneli ilgilendiren ayar dosyaları bu dizinde yer alır.
# .htaccess
Framework için gerekli olan yapılandırma ayarlarını içerir. İsterseniz Settings/Htaccess.php ayar dosyasından yararlanarak yeni ayarlar ilave edebilirsiniz.
# robots.txt
Bu dosyada arama motorları tarafından indekslenemeyecek dizin ve dosyaların bilgileri yer alır. Settings/Robots.php ayar dosyasını kullanarak ayarları değiştirebilirsiniz.
# zeroneed.php
Sistemin açılış sayfasıdır.
# zerocore
Konsoldan komut çalıştırmak için oluşturulmuştur. Bu dosya sayesinde konsoldan controller, model, class ve function çalıştırabileceksiniz.