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, daha az kodla PHP web uygulamaları oluşturup sürdürmeyi sağlayan açık kaynaklı bir MVC çerçevesidir.
  • ⚡ Neden Kullanmalısınız: Hızlı geliştirme, veritabanı ve daha fazlasını sunuyor.tracDahili doğrulama ve arama motoru dostu özellikler. URLKutudan çıktığı gibi.
  • ???? Kurulum: Composer, tek bir create-project komutuyla CakePHP'yi kurar; mevcut 5. sürüm, PHP 8.1 veya daha üstünü gerektirir.
  • 📁 Klasör Yapısı: Temiz klasörler, kaynak kodunu, yapılandırmayı, testleri, günlükleri, eklentileri ve genel web kök dizinini bakım kolaylığı için birbirinden ayırır.
  • 🔤 Sözleşmeler: Yapılandırma yerine kural koymak, modeller, denetleyiciler ve görünümler için tutarlı adlandırma anlamına gelir; bu da gereksiz kod tekrarını azaltır.
  • 🔁 MVC Akışı: Modeller verileri işler, görünümler çıktıyı işler ve denetleyiciler akışı yönlendirir, böylece sürekliliği sağlar.ping Endişeler net bir şekilde birbirinden ayrıldı.
  • 🤖 Yapay Zeka Yardımı: Yapay zeka araçları, CakePHP CRUD uygulamalarının iskeletini oluşturabilir ve eski bir CakePHP projesinin 5. sürüme geçirilmesine yardımcı olabilir.

CakePHP Eğitimi

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'de MVC mimarisi
CakePHP'de MVC mimarisi

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.

SSS

Evet, mevcut CakePHP projelerini sürdürmek ve yapılandırma yerine kurala dayalı yaklaşımını önemseyen ekipler için ideal. Laravel ve Symfony'nin daha büyük toplulukları var, ancak CakePHP 5 aktif olarak sürdürülüyor ve sağlam, üretken bir çerçeve olmaya devam ediyor.

İkisi de MVC PHP framework'üdür. Laravel daha geniş bir ekosisteme, etkileyici bir sözdizimine ve Eloquent ORM'ye sahiptir. CakePHP ise daha az yapılandırma ile katı kurallara ve hızlı iskelet oluşturmaya odaklanır. Laravel daha popülerdir; CakePHP ile geleneksel bir uygulama başlatmak daha hızlı olabilir.

CakePHP 5, mevcut ana sürüm olup PHP 8.1 veya daha üstünü gerektirir. Daha eski CakePHP 4, PHP 7.4 ve üstünü destekliyordu ancak kullanım ömrünün sonuna yaklaşıyor, bu nedenle yeni projeler modern bir PHP sürümünde CakePHP 5'i hedeflemelidir.

Evet. Yapay zeka, CakePHP kurallarına uygun olarak bir CRUD kaynağı için geçiş (migration), varlık (entity), tablo (table), denetleyici (controller) ve şablonlar oluşturabilir ve bake konsol komutlarını açıklayabilir. RevDoğrulama kurallarını inceleyin ve her bir işlemi test edin.

Evet. Yapay zeka, kullanımdan kaldırılmış yöntemleri, güncellenmiş ad alanlarını ve imza değişikliklerini işaretleyebilir ve adım adım değiştirme önerileri sunabilir. Geçişler büyük olduğu için, kademeli olarak yükseltme yapın ve her değişiklikten sonra test paketini çalıştırın.

Bu yazıyı şu şekilde özetleyin: