Terimler Sözlüğü
AJAX
Asenkron JavaScript ve XML – her istek sırasında tüm sayfanın yeniden yüklenmesine gerek kalmadan HTTP protokolü üzerinden istemci-sunucu iletişimi için teknoloji. Kısaltmaya rağmen, JSON formatı genellikle XML yerine kullanılır.
Sunucu Eylemi
Sunucunun mantıksal parçası, bir ürün sayfasını göstermek, bir kullanıcının oturumunu kapatmak vb. gibi bir eylemi gerçekleştirir. Bir sunucunun daha fazla eylemi olabilir.
BOM
Bayt sırası maskesi* bir dosyanın özel bir ilk karakteridir ve kodlamadaki bayt sırasını gösterir. Bazı editörler bunu otomatik olarak ekler, pratikte görünmezdir, ancak başlıklarda ve PHP içinden gönderilen çıktılarda sorunlara neden olur. Toplu olarak kaldırmak için Code Checker 'ı kullanabilirsiniz.
Kontrolör
Denetleyici, kullanıcıdan gelen istekleri işler ve bunlara dayanarak belirli uygulama mantığını (yani modeli) çağırır, ardından veri oluşturma için görünümü çağırır. Denetleyicilerin benzeri Nette Framework'teki sunuculardır.
Siteler Arası Komut Dosyası Oluşturma (XSS)
Siteler Arası Komut Dosyası Yazma (Cross-Site Scripting), yazılmamış girdileri kullanan bir site bozma yöntemidir. Bir saldırgan kendi HTML veya JavaScript kodunu enjekte edebilir ve sayfanın görünümünü değiştirebilir, hatta kullanıcılar hakkında hassas bilgiler toplayabilir. XSS'ye karşı koruma basittir: tüm dizelerin ve girdilerin tutarlı ve doğru bir şekilde kaçması.
Nette Framework, sizi Siteler Arası Komut Dosyası risklerinden sonsuza kadar kurtaracak yepyeni bir Bağlam Farkında Kaçış teknolojisi ile geliyor. Tüm girdileri belirli bir bağlama göre otomatik olarak kaçar, böylece bir kodlayıcının yanlışlıkla bir şeyi unutması imkansızdır.
Siteler Arası İstek Sahteciliği (CSRF)
Siteler Arası İstek Sahteciliği saldırısı, saldırganın kurbanı, kurbanın tarayıcısında kurbanın o anda oturum açtığı sunucuya sessizce bir istek yürüten bir sayfayı ziyaret etmesi için kandırması ve sunucunun isteğin kurban tarafından kendi isteğiyle yapıldığına inanmasıdır. Sunucu, kurbanın kimliği altında ancak kurban farkında olmadan belirli bir eylem gerçekleştirir. Bu, veri değiştirme veya silme, mesaj gönderme vb. olabilir.
Nette Framework sunuculardaki formları ve sinyalleri bu tür saldırılara karşı otomatik olarak korur. Bu, başka bir etki alanından gönderilmelerini veya çağrılmalarını önleyerek yapılır.
Bağımlılık Enjeksiyonu
Dependency Injection (DI), nesnelerin oluşturulmasını bağımlılıklarından nasıl ayıracağınızı anlatan bir tasarım modelidir. Yani, bir sınıf bağımlılıklarını oluşturmaktan veya başlatmaktan sorumlu değildir, bunun yerine bu bağımlılıklar harici kod ( DI kapsayıcısı içerebilir) tarafından sağlanır. Bunun avantajı, bağımlılıklar kolayca değiştirilebildiği ve kodun diğer bölümlerinden izole edildiği için daha fazla kod esnekliği, daha iyi okunabilirlik ve daha kolay uygulama testine olanak sağlamasıdır. Daha fazla bilgi için Dependency Injection Nedir?
Bağımlılık Enjeksiyonu konteyneri
Bağımlılık Enjeksiyonu konteyneri (DI konteyneri veya IoC konteyneri olarak da bilinir) bir uygulamadaki (veya hizmetlerdeki) bağımlılıkların oluşturulmasını ve yönetilmesini sağlayan bir araçtır. Bir kapsayıcı genellikle hangi sınıfların diğer sınıflara bağımlı olduğunu, hangi özel bağımlılık uygulamalarının kullanılacağını ve bu bağımlılıkların nasıl oluşturulacağını tanımlayan bir yapılandırmaya sahiptir. Kapsayıcı daha sonra bu nesneleri oluşturur ve bunlara ihtiyaç duyan sınıflara sağlar. Daha fazla bilgi için DI konteyneri nedir?
Kaçış
Kaçış, verilen bağlamda özel anlamı olan karakterlerin başka bir eşdeğer diziye dönüştürülmesidir. Örnek:
Tırnak içine alınmış dizgiye tırnak yazmak istiyoruz. Tırnak işaretleri tırnak içine alınmış dizge bağlamında özel
bir anlama sahip olduğundan, başka bir eşdeğer dizinin kullanılmasına ihtiyaç vardır. Somut dizi bağlam kuralları
tarafından belirlenir (örneğin PHP'nin tırnak içine alınmış dizesinde
\", HTML özniteliklerinde
" vb.)
Filtre (Eski adıyla Yardımcı)
Geçersiz kılma
Yeniden işlenecek bir snippet bildirimi. Başka bir bağlamda da bir önbelleğin temizlenmesi.
JSON
JavaScript sözdizimine dayalı veri değişim formatı (onun alt kümesidir). Tam spesifikasyon www.json.org adresinde bulunabilir.
Bileşen
Bir uygulamanın yeniden kullanılabilir parçası. Bileşenler bölümünde açıklandığı gibi bir sayfanın görsel bir parçası olabilir veya bu terim Bileşen sınıfı anlamına da gelebilir (böyle bir bileşenin görsel olması gerekmez).
Kontrol Karakterleri
Kontrol karakterleri, bir metinde ortaya çıkabilen ve sonunda bazı sorunlara neden olabilen görünmez karakterlerdir. Bunların dosyalardan toplu olarak kaldırılması için Code Checker'ı, bir değişkenden kaldırılması için Strings::normalize() fonksiyonunu kullanabilirsiniz.
Etkinlikler
Olay, nesnede beklenen bir durumdur ve gerçekleştiğinde işleyiciler, yani olaya tepki veren geri aramalar (örnek) olarak adlandırılır. Olay örneğin form gönderimi, kullanıcı girişi vb. olabilir. Olaylar bu nedenle bir Kontrolün Tersine Çevrilmesi biçimidir.
Örneğin,
Nette\Security\User::login() yönteminde bir kullanıcı girişi gerçekleşir.
User
nesnesi, herkesin geri arama ekleyebileceği bir dizi olan
$onLoggedIn genel değişkenine sahiptir. Kullanıcı
oturum açar açmaz,
login() yöntemi dizideki tüm geri aramaları çağırır. Bir değişkenin
onXyz
biçimindeki adı, Nette genelinde kullanılan bir kuraldır.
Latte
Şimdiye kadarki en yenilikçi şablonlama sistemlerinden biri.
Model
Model, tüm uygulamanın veri ve işlev temelini temsil eder. Tüm uygulama mantığını içerir (bazen “iş mantığı” olarak da adlandırılır). Bu, MVC veya MPV'nin M'sidir. Herhangi bir kullanıcı eylemi (oturum açma, sepete bir şeyler koyma, bir veritabanı değerinin değiştirilmesi) modelin bir eylemini temsil eder.
Model kendi iç durumunu yönetir ve public bir arayüz sağlar. Bu arayüzü çağırarak onun durumunu alabilir veya değiştirebiliriz. Model, view veya controller'ın varlığından haberdar değildir, model bunlardan tamamen bağımsızdır.
Model-View-Controller
GUI uygulamalarının geliştirilmesinde, akış kontrol kodunu (kontrolör) uygulama mantığı kodundan (model) ve veri işleme kodundan (görünüm) ayırmak için ortaya çıkan yazılım mimarisi. Bu şekilde kod daha iyi anlaşılabilir, gelecekteki geliştirmeleri kolaylaştırır ve ayrı parçaların ayrı ayrı test edilmesini sağlar.
Model-Görünüm-Sunucusu
Model-View-Controller tabanlı mimari.
Modül
Nette Framework'teki modül, bir sunumcuya veri sunan sunumcuların ve şablonların, nihayetinde de bileşenlerin ve modellerin bir koleksiyonunu temsil eder. Yani bir uygulamanın belirli bir mantıksal parçasıdır.
Örneğin, bir e-mağazanın üç modülü olabilir:
- Sepetli ürün kataloğu.
- Müşteri için yönetim.
- Dükkan sahibi için yönetim.
İsim Alanı
İsim alanı, PHP dilinin 5.3 sürümünden itibaren ve diğer bazı programlama dillerinde de bulunan bir özelliktir. Farklı kütüphaneleri birlikte kullanırken isim çakışmalarını (örneğin aynı isimde iki sınıf) önlemeye yardımcı olur. Daha fazla ayrıntı için PHP belgelerine bakınız.
Sunucu
Sunucu, yönlendirici tarafından HTTP isteğinden çevrilen isteği alan ve bir yanıt oluşturan bir nesnedir. Yanıt bir HTML sayfası, resim, XML belgesi, dosya, JSON, yönlendirme veya aklınıza ne gelirse olabilir.
Yönlendirici
HTTP isteği / URL ve sunucu eylemi arasında çift yönlü çevirmen. Çift yönlü olması, yalnızca HTTP isteğinden bir sunum eylem i türetmenin değil, aynı zamanda bir eylem için uygun URL oluşturmanın da mümkün olduğu anlamına gelir. URL yönlendirme hakkında daha fazla bilgi için bkz.
AynıSite Çerezi
SameSite çerezleri, sayfanın yüklenmesine neyin yol açtığını tanımak için bir mekanizma sağlar. Üç değere sahip
olabilir:
Lax,
Strict ve
None (ikincisi HTTPS gerektirir). Sayfaya istek doğrudan siteden
gelirse veya kullanıcı sayfayı doğrudan adres çubuğuna yazarak veya bir yer imine tıklayarak açarsa, tarayıcı tüm
çerezleri sunucuya gönderir (yani
Lax,
Strict ve
None bayraklarıyla). Kullanıcı başka
bir siteden gelen bir bağlantı aracılığıyla siteye tıklarsa,
Lax ve
None bayraklı çerezler
sunucuya iletilir. İstek, başka bir siteden bir POST formu gönderme, bir iframe içine yükleme, JavaScript kullanma vb. gibi
başka yollarla yapılırsa, yalnızca
None bayrağına sahip çerezler gönderilir.
Hizmet
Bağımlılık Enjeksiyonu bağlamında bir hizmet, bir DI konteyneri tarafından oluşturulan ve yönetilen bir nesneyi ifade eder. Bir hizmet, örneğin test amacıyla veya bir uygulamanın davranışını değiştirmek için, hizmeti kullanan kodu değiştirmek zorunda kalmadan kolayca başka bir uygulama ile değiştirilebilir.
Snippet
Bir AJAX isteği sırasında ayrı olarak yeniden oluşturulabilen bir sayfanın parçacığı.
Görünüm
Görünüm, istek sonuçlarının işlenmesinden sorumlu olan bir uygulama katmanıdır. Genellikle bir şablonlama sistemi kullanır ve bileşenlerini veya modelden alınan sonuçları nasıl oluşturacağını bilir.