Yeni Başlayanlar İçin CakePHP Eğitimi: CakePHP Çerçevesi Nedir?
⚡ Akıllı Özet
CakePHP Eğitimi, hızlı, MVC tabanlı web uygulaması geliştirme için açık kaynaklı PHP çerçevesini ele almaktadır. Bu eğitim, CakePHP'nin ne olduğunu, ekiplerin neden onu tercih ettiğini, nasıl kurulacağını, klasör yapısını ve yapılandırmasını, adlandırma kurallarını ve Model-View-Controller (MVC) deseninin bir CakePHP uygulamasını nasıl yönlendirdiğini açıklamaktadır.

CakePHP nedir?
CakePHP'nin CakePHP, PHP ile geliştirilen web uygulamalarının hızlı bir şekilde geliştirilmesi ve bakımı için açık kaynaklı bir çerçevedir. MVC mimarisi konseptine dayanır ve bu sayede PHP web uygulamalarının daha az kodla, kolay ve basit bir şekilde oluşturulmasına yardımcı olur. CakePHP ayrıca iş mantığını veri katmanından ve sunum katmanından ayırmanıza da olanak tanır.
CakePHP Çerçevesini neden kullanmalıyım?
CakePHP framework'ünü kullanmanın başlıca faydaları/avantajları şunlardır:
- CakePHP, açık ara en hızlı web geliştirme platformlarından biridir.
- CakePHP, geliştiricilerin veritabanı ve SQL sorguları üzerinde gelişmiş kontrol sahibi olmalarını sağlar.
- Kullanıcıların ortam esnekliğini kaybetmeden güçlü web uygulamalarını hızla geliştirmelerine yardımcı olur.
- Için destek PostgreSQL, SQLite, MySQLve ADODB için PEAR-DB, bir veritabanı absorpsiyonu.trackütüphane.
- Arama motoru dostu olmayı kolaylaştırır. URLs.
- Uygulamayı güvenli hale getiren giriş doğrulama ve temizleme araçları gibi özellikler sunar.
- Alışılmış PHP sözdizimiyle şablon oluşturma.
CakePHP Nasıl Kurulur?
CakePHP'yi kurmanın önerilen yolu, PHP bağımlılık yöneticisi olan Composer'ı kullanmaktır. Composer kurulduktan sonra, yeni bir proje iskeleti oluşturmak için aşağıdaki komutu çalıştırın.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
Bu komut CakePHP'yi ve bağımlılıklarını my_app adlı bir klasöre indirir. Ardından yerleşik sunucuyu şu komutla başlatabilirsiniz: bin/cake server Tarayıcınızda http://localhost:8765 adresini açın. CakePHP 5'in PHP 8.1 veya daha yeni bir sürüm gerektirdiğini unutmayın.
CakePHP'nin Tarihçesi
Şimdi bu CakePHP eğitiminde, CakePHP çerçevesinin tarihçesini ele alacağız:
| Yıl | Dönüm noktası |
|---|---|
| 2005 | CakePHP, 15 Nisan 2005'te Michal Tatarynowicz tarafından geliştirildi. |
| 2005 | CakePHP, bu projeyi MIT lisansı altında yayınladı ve geliştirici topluluğuna açtı. |
| 2005 | Larry E Masters baş geliştirici olarak görevi devraldı. |
| 2006 | 1.0. sürüm yayınlandı. |
| 2011 | 2. sürüm yayınlandı. |
| 2014 | Üçüncü sürüm yayınlandı; bu sürüm, önceki sürümlerin tamamen yeniden yazılmış halidir. |
| 2016 | CakePHP'nin 3.3 sürümü birçok gelişmiş özellikle birlikte yayınlandı. |
| 2019 | Çerçeveyi modernize eden 4.0 sürümü yayınlandı. |
| 2023 | CakePHP 5.0 sürümü yayınlandı ve PHP 8.1 veya üzeri bir sürüm gerektiriyor. 2026 yılındaki mevcut sürüm ise CakePHP 5.3.x'tir. |
CakePHP'nin Özellikleri
CakePHP'nin önemli özellikleri şunlardır.
- Aktif, arkadaş canlısı topluluk
- MVC mimarisi
- Yerleşik doğrulama
- Herhangi bir web sitesi dizininden çalışır, Apache yapılandırmasına gerek yoktur veya çok az gerektirebilir.
- Şablon motoru
- Önbellekleme işlemleri
- Kolay CRUD veritabanı etkileşimleri
- E-posta, Çerez, Güvenlik, Oturum ve İstek gibi bileşenlerin işlenmesi
- Yardımcıları görüntüle JavaSenaryo, AjaxHTML formları ve daha fazlası
CakePHP- Klasör Yapısı
Şimdi bu CakePHP çerçeve eğitiminde CakePHP klasör yapısını öğreneceğiz.
Aşağıda CakePHP'nin klasör yapısı verilmiştir:
| Dosya | Açıklama |
|---|---|
| Testler | Bu klasör uygulamanız için test senaryolarını içerir. |
| tmp | tmp klasörü geçici verileri depolar. |
| Satıcı | Bu klasör, CakePHP ve diğer uygulama bağımlılıklarının yüklendiği yerdir. |
| Webroot | Web kök dizini, herkese açık olmasını istediğiniz tüm dosyaları depolar. |
| Çöp kutusu | Bin klasörü Cake konsolunun yürütülebilir dosyalarını içerir. |
| Kayıtlar | Bu, günlük yapılandırmanıza bağlı olarak günlük dosyalarınızı içerir. |
| Yapılandırma | Config klasörü, CakePHP'nin kullandığı yapılandırma dosyalarını saklar. |
| eklentiler | Uygulamanızın kullandığı eklentiler burada saklanır. |
| src | Bu, denetleyiciler, varlıklar ve davranışlar gibi uygulamanızın kodunu içerir. Locale, uluslararasılaştırma için dize dosyalarını saklar ve Model, uygulamanızın tablolarını, varlıklarını ve davranışlarını içerir. |
CakePHP'nin Yapılandırması
CakePHP varsayılan olarak tek bir yapılandırma dosyasıyla birlikte gelir. Ayrıca gereksinimlerinize göre değiştirmenize de olanak tanır. Bunun için “config” adında bir klasör verilmiştir.
| Değişken ismi | Açıklama |
|---|---|
| Debug | CakePHP hata ayıklama çıktısını değiştirmenizi sağlar. |
| Uygulama.ad alanı | Uygulama derslerini bulmanıza yardımcı olur. |
| Uygulama.baseUrl'si | Apache'nin mod_rewrite özelliğini CakePHP ile kullanmak istemediğinizde bu anahtar kelimenin açıklamasını kaldırın. |
| Uygulama kodlaması | Uygulamanızın hangi kodlama yöntemini kullanacağını tanımlamanıza olanak tanır. |
| Uygulama tabanı | Bu, uygulamanın bulunduğu temel dizindir. Yanlışsa, otomatik olarak algılanacaktır. |
| App.fullBaseUrl | Tam nitelikli alan adı. |
| Uygulama.webroot | Bu, web kök dizinidir. |
| Uygulama.wwwRoot | Web köküne giden dosya yolu. |
| App.jsBaseUrl | Genel js dizininin yolu. |
| Uygulama.yolları | Sınıf tabanlı olmayan kaynaklar için yolları yapılandırın. |
| App.cssBaseUrl | Bu, webroot altındaki public css dizinine giden web yoludur. |
| Güvenlik.tuz | Karma işleminde kullanılan rastgele bir dizedir. |
| Varlık.zaman damgası | Bu değişken, uygun yardımcı fonksiyonlar kullanıldığında bir zaman damgası ekler. |
Cake- PHP adlandırma kuralları
Cake, yapılandırma yerine kural ilkesini benimser. Adlandırma kuralı, web uygulamasının işleyişini düzenlemenizi sağlar. Bu yöntemde, dosya adlandırmasında birden fazla kelime "_" ile, sınıf adlandırmasında ise camel case (büyük harfle başlayan ve küçük harfle biten) kullanımı gereklidir.
MVC bileşenleri aşağıdaki sözdizimine uymalıdır:
| Dosya Adı | Sınıf adı | Temel Sınıf Adı | Konum | |
|---|---|---|---|---|
| Model | Tablo adının tekil hali ve uzantısı .php, örneğin: order.php | Dosya adı camel case formatında, örneğin: Order | Uygulama Modeli | /app/modeller |
| kontrolör | .php uzantılı bir tablo_denetleyicisi, örneğin: orders_controller.php | Tablo adının sonuna "Controller" eklenir, örneğin: OrdersController | Uygulama Denetleyicisi | /app/denetleyiciler |
| Görüntüle | Denetleyicideki eylem adı .ctp uzantısıyla biter, örneğin: add.ctp | Sınıflandırma yok; bir görünüm HTML etiketleri ve PHP içerir. | /app/views/controller adı |
Veritabanları Yapılandırması
CakePHP, veritabanını yapılandırmanıza olanak tanır. config/app.php Dosya, varsayılan bir bağlantı ve sağlanan parametreleri sunar; bu parametreleri kendi tercihinize göre değiştirebilirsiniz.
Önemli parametreler aşağıda verilmiştir:
| Parametre | Açıklama |
|---|---|
| bağlantı noktası (isteğe bağlı) | Sunucuya bağlanmak için kullanılan TCP bağlantı noktası veya Unix soketi. |
| Saat Dilimi | Ayarlanacak sunucu saat dilimi. |
| Şema | Hangi şemayı kullanabileceğinizi belirtmenize yardımcı olur. |
| unix_socket | Sürücülerin Unix soket dosyaları aracılığıyla bağlantı kurması için kullanılır. |
| SSL_key | Bu, SSL anahtar dosyasının dosya yoludur. |
| ssl_cert | Bu, SSL sertifika dosyasının dosya yoludur. |
| SSL_ca | Bu, SSL sertifika yetkilisine giden dosya yoludur. |
| Giriş | Bu terim sorgu günlüğü oluşturmanıza yardımcı olur. |
| İçinde | Bağlantı oluşturulduğunda veritabanı sunucusuna gönderilmesi gereken sorguların listesi. |
| alıntı tanımlayıcıları | Ayrılmış kelimeleri veya özel karakterleri kullanmak istiyorsanız bunu true olarak ayarlayın. |
MVC CakePHP'de nasıl çalışır?
Şimdi, bu CakePHP framework eğitiminde CakePHP'de MVC'nin nasıl çalıştığını öğreneceğiz.
Bu, bir web uygulamasının temel mekanizmasını oluşturmanın dinamik bir yoludur. Model, görünüm ve denetleyici birbirinden ayrıdır.

CakePHP işlemleri üç bölüme ayırır:
- Modeller: Tüm veritabanı etkileşimleri için kullanılır.
- Görünümler: Tüm çıktı ve ekranlar için kullanılır.
- Denetleyiciler: Uygulama akışını kontrol etmek için kullanılır.
CakePHP'de MVC mimarisini kullanmak için izlenecek adımlar şunlardır:
) 1 Adım İstemci veya kullanıcı görünümle etkileşime girer.
) 2 Adım Bu görünüm, denetleyiciyi belirli olay hakkında uyarır.
) 3 Adım Denetleyici, modele bir veritabanı isteği gönderir ve modeli günceller.
) 4 Adım Model, görünümün değiştiğini bildirir.
) 5 Adım Görünüm, model verilerini alır ve alınan verilere göre kendini günceller.
Neden MVC'yi kullanmalısınız?
- CakePHP MVC, iş mantığını sunum ve veri alma işlemlerinden ayırmanıza yardımcı olur.
- Bir site, belirli bir denetleyiciyle yönetebileceğiniz mantıksal bölümlere ayrılmıştır.
- Bir uygulamayı test ederken ve hata ayıklarken, herhangi bir geliştirici kodun tüm ayrıntılarına sahip olmadan da hataları bulabilir ve düzeltebilir.
CakePHP çerçevesini kullanmanın dezavantajları
- CakePHP'nin dokümantasyon desteği, olması gerektiği kadar kapsamlı değil.
- CakePHP'yi kullanmak için geliştiricinin, daha şık uygulamalar oluşturmak amacıyla varsayılan rotaları güncellemesi gerekir. URLBu, diğer bazı PHP framework'lerine kıyasla daha fazla çalışma gerektirir.
- CakePHP, diğer framework'lerin aksine tek yönlü yönlendirme kullanır.
- PHP öğrenmek Çerçeve oluşturmak yeni başlayanlar için her zaman kolay değildir.
- Tek yönlü yönlendirme, Ruby on Rails gibi çerçevelerle karşılaştırıldığında bir diğer dezavantajdır.
