Nette Documentation Preview

syntax
Terimler Sözlüğü
****************


AJAX .[#toc-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 |#JSON] formatı genellikle XML yerine kullanılır.


Sunucu Eylemi .[#toc-presenter-action]
--------------------------------------
[Sunucunun |#presenter] 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 |code-checker:] 'ı kullanabilirsiniz.


Kontrolör .[#toc-controller]
----------------------------
Denetleyici, kullanıcıdan gelen istekleri işler ve bunlara dayanarak belirli uygulama mantığını (yani [modeli |#model]) çağırır, ardından veri oluşturma için [görünümü |#view] çağırır. Denetleyicilerin benzeri Nette Framework'teki [sunuculardır |#presenter].


Siteler Arası Komut Dosyası Oluşturma (XSS) .[#toc-cross-site-scripting-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 |latte:safety-first#context-aware-escaping] 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) .[#toc-cross-site-request-forgery-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 .[#toc-dependency-injection]
---------------------------------------------------
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ı |#Dependency Injection container] 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? |dependency-injection:introduction]


Bağımlılık Enjeksiyonu konteyneri .[#toc-dependency-injection-container]
------------------------------------------------------------------------
Bağımlılık Enjeksiyonu konteyneri (DI konteyneri veya IoC konteyneri olarak da bilinir) bir uygulamadaki (veya [hizmetlerdeki |#service]) 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? |dependency-injection:container]


Kaçış .[#toc-escaping]
----------------------
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ı) .[#toc-filter-formerly-helper]
------------------------------------------------------------
Filtre işlevi. Şablonlarda [filtre |latte:syntax#filters], verileri çıktı formunda değiştirmeye veya biçimlendirmeye yardımcı olan bir işlevdir. Şablonların önceden tanımlanmış birkaç [standart filtresi |latte:filters] vardır.


Geçersiz kılma .[#toc-invalidation]
-----------------------------------
Yeniden işlenecek bir [snippet |#snippet] bildirimi. Başka bir bağlamda da bir önbelleğin temizlenmesi.


JSON .[#toc-json]
-----------------
JavaScript sözdizimine dayalı veri değişim formatı (onun alt kümesidir). Tam spesifikasyon www.json.org adresinde bulunabilir.


Bileşen .[#toc-component]
-------------------------
Bir uygulamanın yeniden kullanılabilir parçası. [Bileşenler |application:components] bölümünde açıklandığı gibi bir sayfanın görsel bir parçası olabilir veya bu terim [Bileşen |component-model:] sınıfı anlamına da gelebilir (böyle bir bileşenin görsel olması gerekmez).


Kontrol Karakterleri .[#toc-control-characters]
-----------------------------------------------
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'ı |code-checker:], bir değişkenden kaldırılması için [Strings::normalize() |utils:strings#normalize] fonksiyonunu kullanabilirsiniz.


Etkinlikler .[#toc-events]
--------------------------
Olay, nesnede beklenen bir durumdur ve gerçekleştiğinde işleyiciler, yani olaya tepki veren geri aramalar ("örnek":https://gist.github.com/dg/332cdd51bdf7d66a6d8003b134508a38) 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 .[#toc-latte]
-------------------
Şimdiye kadarki en yenilikçi [şablonlama sistemlerinden |latte:] biri.


Model .[#toc-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, **M**VC 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 |#view] veya [controller'ın |#controller] varlığından haberdar değildir, model bunlardan tamamen bağımsızdır.


Model-View-Controller .[#toc-model-view-controller]
---------------------------------------------------
GUI uygulamalarının geliştirilmesinde, akış kontrol kodunu ([kontrolör |#controller]) uygulama mantığı kodundan ([model |#model]) ve veri işleme kodundan ([görünüm |#view]) 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 .[#toc-model-view-presenter]
---------------------------------------------------
[Model-View-Controller |#Model-View-Controller] tabanlı mimari.


Modül .[#toc-module]
--------------------
Nette Framework'teki [modül |application:modules], 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:
1) Sepetli ürün kataloğu.
2) Müşteri için yönetim.
3) Dükkan sahibi için yönetim.


İsim Alanı .[#toc-namespace]
----------------------------
İ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 |https://www.php.net/manual/en/language.namespaces.rationale.php] bakınız.


Sunucu .[#toc-presenter]
------------------------
Sunucu, yönlendirici tarafından HTTP isteğinden çevrilen [isteği |api:Nette\Application\Request] alan ve bir [yanıt |api:Nette\Application\Response] oluşturan bir nesnedir. Yanıt bir HTML sayfası, resim, XML belgesi, dosya, JSON, yönlendirme veya aklınıza ne gelirse olabilir.

Sunucu ile genellikle [api:Nette\Application\UI\Presenter] sınıfının soyundan gelen bir kişi kastedilir. İsteklere göre uygun [eylemleri |application:presenters#life-cycle-of-presenter] çalıştırır ve şablonları işler.


Yönlendirici .[#toc-router]
---------------------------
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 |#presenter action] 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 |application:routing] hakkında daha fazla bilgi için bkz.


AynıSite Çerezi .[#toc-samesite-cookie]
---------------------------------------
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 .[#toc-service]
----------------------
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 .[#toc-snippet]
-----------------------
Bir [AJAX |#AJAX] isteği sırasında ayrı olarak yeniden oluşturulabilen bir sayfanın parçacığı.


Görünüm .[#toc-view]
--------------------
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.



{{leftbar: www:@menu-common}}
{{priority: -2}}

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ı)

Filtre işlevi. Şablonlarda filtre, verileri çıktı formunda değiştirmeye veya biçimlendirmeye yardımcı olan bir işlevdir. Şablonların önceden tanımlanmış birkaç standart filtresi vardır.

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:

  1. Sepetli ürün kataloğu.
  2. Müşteri için yönetim.
  3. 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.

Sunucu ile genellikle Nette\Application\UI\Presenter sınıfının soyundan gelen bir kişi kastedilir. İsteklere göre uygun eylemleri çalıştırır ve şablonları işler.

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.

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.