Dosya ve Dizin Yapısı
"Aktif kontrolcü tarafından otomatik olarak yüklenen görünümleri masterpage olarak belirlenen sayfa içerisinde $view değişkeni ile konumlandırabilirsiniz."
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ı, Rota gibi ayarlar bu dizin altından yapılır.
● 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.
home.php : Örnek kullanım için oluşturulmuş kontrolcü dosyasıdır. dosyanın içeriği incelendiğinde Views/ dizini içinde yer alan home/main.wizard.php görünüm dosyasının çalıştırıldığı görülü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: Spanish/
● 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 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
Yüklenen dosyalar bu dizinde yer alır.
Dahil etme yöntemleri ile ilgili detaylı kullanım için tıklayınız.
● 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 (ZN >= 5.1.0)
Internal/Config/ dizininde yer alan temel ayarlar artık bu dizinden yapılacaktır.
Bu dizine ait yapılandırmalara bu linkten ulaşabilirsiniz.
# .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. Klavuzdan görmek için tıklayınız.
# 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. Klavuzdan görmek için tıklayınız.
# 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.