Samouczek CakePHP dla początkujących: Co to jest Framework CakePHP?

⚡ Inteligentne podsumowanie

Samouczek CakePHP omawia framework PHP o otwartym kodzie źródłowym do szybkiego tworzenia aplikacji internetowych opartych na architekturze MVC. W tym samouczku wyjaśniono, czym jest CakePHP, dlaczego zespoły go wybierają, jak go zainstalować, strukturę i konfigurację folderów, konwencje nazewnictwa oraz jak wzorzec Model-Widok-Kontroler steruje aplikacją CakePHP.

  • 🎂 Czym jest CakePHP: CakePHP to otwartoźródłowy framework MVC, który umożliwia tworzenie i utrzymywanie aplikacji internetowych PHP przy użyciu mniejszej ilości kodu.
  • Dlaczego go używać: Oferuje szybki rozwój, bazę danych abstraccja, wbudowana walidacja i przyjazność dla wyszukiwarek URLjest gotowe do użycia.
  • 📦 Instalacja: Composer instaluje CakePHP za pomocą jednego polecenia create-project; bieżąca wersja 5 wymaga PHP 8.1 lub nowszego.
  • 📁 Struktura folderów: Wyczyść foldery, oddziel kod źródłowy, konfigurację, testy, logi, wtyczki i publiczny katalog główny, aby ułatwić konserwację.
  • 🔤 Konwencje: Uprzedzenie konwencji do konfiguracji oznacza, że ​​spójne nazewnictwo modeli, kontrolerów i widoków redukuje ilość szablonowych nazw.
  • 🔁 Przepływ MVC: Modele obsługują dane, widoki obsługują dane wyjściowe, a kontrolery kierują przepływem,ping obawy są wyraźnie rozdzielone.
  • 🤖 Asystent AI: Narzędzia AI mogą wspierać aplikacje CRUD CakePHP i pomagać w migracji starszych projektów CakePHP do wersji 5.

Samouczek CakePHP

Co to jest CakePHP?

CakePHP to framework open source do szybkiego tworzenia i utrzymywania aplikacji internetowych w PHP. Opiera się na koncepcji architektury MVC, która ułatwia i upraszcza tworzenie aplikacji internetowych w PHP, przy mniejszej ilości kodu. CakePHP pozwala również oddzielić logikę biznesową od warstwy danych i prezentacji.

Dlaczego warto używać CakePHP Framework?

Oto główne korzyści/zalety korzystania z frameworka CakePHP:

  • CakePHP jest zdecydowanie jedną z najszybszych platform do tworzenia stron internetowych.
  • CakePHP pozwala programistom uzyskać większą kontrolę nad bazą danych i zapytaniami SQL.
  • Pomaga użytkownikom szybko tworzyć solidne aplikacje internetowe bez utraty elastyczności środowiska.
  • Wsparcie dla PostgreSQL, SQLite, MySQLi PEAR-DB dla ADODB, bazy danych abstracbiblioteka cji.
  • Ułatwia dostosowanie do wyszukiwarek URLs.
  • Zapewnia funkcje, takie jak sprawdzanie poprawności danych wejściowych i narzędzia do czyszczenia, które sprawiają, że aplikacja jest bezpieczna.
  • Szablony z wykorzystaniem znanej składni PHP.

Jak zainstalować CakePHP

Zalecanym sposobem instalacji CakePHP jest użycie Composera, menedżera zależności PHP. Po zainstalowaniu Composera uruchom poniższe polecenie, aby utworzyć nowy szkielet projektu.

composer create-project --prefer-dist cakephp/app:~5.0 my_app

Polecenie pobiera CakePHP i jego zależności do folderu o nazwie my_app. Następnie możesz uruchomić wbudowany serwer za pomocą bin/cake server i otwórz http://localhost:8765 w przeglądarce. Pamiętaj, że CakePHP 5 wymaga PHP 8.1 lub nowszego.

Historia CakePHP

W tym samouczku CakePHP omówimy historię frameworka CakePHP:

Rok Kamień milowy
2005 CakePHP został opracowany przez Michała Tatarynowicza 15 kwietnia 2005 roku.
2005 CakePHP opublikowało je na licencji MIT i udostępniło społeczności programistów.
2005 Larry E Masters przejął stanowisko głównego programisty.
2006 Została wydana wersja 1.0.
2011 Została wydana wersja 2.
2014 Została wydana wersja 3, która była całkowicie przepisaną wersją wersji poprzednich.
2016 Wersja 3.3 CakePHP została wydana z wieloma zaawansowanymi funkcjami.
2019 Została wydana wersja 4.0 unowocześniająca framework.
2023 Wydano CakePHP 5.0, który wymaga PHP 8.1 lub nowszego. Aktualna wersja z 2026 roku to CakePHP 5.3.x.

Funkcje CakePHP

Oto ważne cechy CakePHP.

  • Aktywna, przyjazna społeczność
  • Architektura MVC
  • Wbudowana walidacja
  • Działa z poziomu dowolnego katalogu witryny internetowej, z pewną konfiguracją serwera Apache lub bez niej.
  • Silnik szablonów
  • Operacje buforowania
  • Łatwe interakcje z bazą danych CRUD
  • Obsługa komponentów takich jak e-mail, pliki cookie, zabezpieczenia, sesja i żądanie
  • Zobacz pomocników dla JAVASCRIPT, ajax, formularze HTML i wiele więcej

CakePHP – Struktura folderów

Teraz w tym samouczku dotyczącym frameworka CakePHP dowiemy się o strukturze folderów CakePHP.

Poniżej znajduje się struktura folderów CakePHP:

Teczka OPIS
Testy W tym folderze znajdują się przypadki testowe dla Twojej aplikacji.
tmp Folder tmp przechowuje dane tymczasowe.
Sprzedawca W tym folderze instalowane jest CakePHP i inne zależności aplikacji.
Webroot W katalogu webroot przechowywane są wszystkie pliki, do których chcesz mieć dostęp publiczny.
Kosz Folder bin zawiera pliki wykonywalne konsoli Cake.
Dzienniki Zawiera pliki dziennika, które zależą od konfiguracji dziennika.
Config Folder config przechowuje pliki konfiguracyjne używane przez CakePHP.
Wtyczki Tutaj przechowywane są wtyczki używane przez Twoją aplikację.
Src Zawiera kod aplikacji, taki jak kontrolery, encje i zachowania. Locale przechowuje pliki tekstowe do internacjonalizacji, a Model zawiera tabele, encje i zachowania aplikacji.

Konfiguracja CakePHP

Domyślnie CakePHP zawiera pojedynczy plik konfiguracyjny. Daje także możliwość modyfikacji go według własnych potrzeb. W tym celu przeznaczony jest folder o nazwie „config”.

Nazwa zmiennej OPIS
Debug Umożliwia zmianę wyników debugowania CakePHP.
Przestrzeń nazw aplikacji Pomaga znaleźć klasy aplikacji.
App.baseUrl Usuń komentarz tego słowa kluczowego, jeśli nie chcesz używać mod_rewrite Apache z CakePHP.
Kodowanie aplikacji Umożliwia zdefiniowanie kodowania używanego przez aplikację.
Baza aplikacji Jest to katalog bazowy, w którym znajduje się aplikacja. Jeśli wartość jest ustawiona na fałsz, zostanie ona wykryta automatycznie.
App.fullBaseUrl W pełni kwalifikowana nazwa domeny.
Aplikacja webroot To jest katalog webroot.
Aplikacja.wwwRoot Ścieżka do pliku webroot.
App.jsBaseUrl Ścieżka do publicznego katalogu js.
Ścieżki aplikacji Skonfiguruj ścieżki dla zasobów nie opartych na klasach.
App.cssBaseUrl Jest to ścieżka internetowa do publicznego katalogu css w katalogu webroot.
Bezpieczeństwo.sól Jest to losowy ciąg znaków używany do mieszania.
Zasób.znacznik czasu Ta zmienna dodaje znacznik czasu w przypadku użycia odpowiednich funkcji pomocniczych.

Cake – konwencje nazewnictwa PHP

Cake kieruje się ideą konwencji ponad konfiguracją. Konwencja nazewnictwa pozwala na uporządkowanie działania aplikacji internetowej. W tej metodzie więcej niż jedno słowo w nazwie musi być rozdzielone znakiem „_” podczas nazywania pliku oraz znakiem wielbłądziej wielkości liter podczas nazywania klasy.

Części MVC muszą być zgodne ze składnią podaną poniżej:

Nazwa pliku Nazwa klasy Nazwa klasy bazowej Lokalizacja
Model Forma liczby pojedynczej nazwy tabeli z rozszerzeniem .php, np. order.php Nazwa pliku w formacie wielbłądzim, np.: Zamówienie Model aplikacji /aplikacja/modele
kontroler tablename_controller z rozszerzeniem .php, np. orders_controller.php Nazwa tabeli dołączona do kontrolera, np.: OrdersController Kontroler aplikacji /aplikacja/kontrolery
Zobacz Nazwa akcji w kontrolerze z rozszerzeniem .ctp, np.: add.ctp Brak klas; widok zawiera znaczniki HTML i PHP. /app/views/nazwa kontrolera

Konfiguracja baz danych

CakePHP pozwala na konfigurację bazy danych w config/aplikacja.php Plik. Zapewnia domyślne połączenie z podanymi parametrami, które możesz modyfikować według własnego uznania.

Poniżej podano ważne parametry:

Parametr OPIS
port (opcjonalnie) Port TCP lub gniazdo Unix używane do łączenia się z serwerem.
Strefa czasowa Strefa czasowa serwera do ustawienia.
schemat Pomaga określić, którego schematu możesz użyć.
gniazdo_unixa Używany przez sterowniki do łączenia się za pomocą plików gniazd Unix.
klucz_ssl Jest to ścieżka do pliku klucza SSL.
certyfikat ssl Jest to ścieżka do pliku certyfikatu SSL.
ssl_ca Jest to ścieżka do pliku urzędu certyfikacji SSL.
Zaloguj Termin ten ułatwia rejestrowanie zapytań.
W tym Lista zapytań, które powinny zostać przesłane do serwera bazy danych przy każdym nawiązaniu połączenia.
identyfikatory cytatu Ustaw na true, jeśli chcesz używać słów zastrzeżonych lub znaków specjalnych.

Jak działa MVC w CakePHP?

Teraz dowiemy się, jak działa MVC w CakePHP w tym samouczku dotyczącym frameworka CakePHP.

To dynamiczny sposób budowania głównego mechanizmu aplikacji internetowej. Model, widok i kontroler są od siebie niezależne.

Architektura MVC w CakePHP
Architektura MVC w CakePHP

CakePHP dzieli operacje na trzy części:

  • Modele: używane do wszystkich interakcji z bazami danych.
  • Widoki: używane dla wszystkich wyników i wyświetlaczy.
  • Kontrolery: służą do sterowania przepływem aplikacji.

Oto kroki umożliwiające wykorzystanie architektury MVC w CakePHP:

Krok 1) Klient lub użytkownik wchodzi w interakcję z widokiem.

Krok 2) Widok powiadamia kontroler o konkretnym zdarzeniu.

Krok 3) Kontroler wysyła żądanie do bazy danych modelu i aktualizuje model.

Krok 4) Model informuje widok o zmianie.

Krok 5) Widok odbiera dane modelu i aktualizuje się zgodnie z otrzymanymi danymi.

Dlaczego warto używać MVC?

  • CakePHP MVC pomaga oddzielić logikę biznesową od prezentacji i pobierania danych.
  • Strona podzielona jest na logiczne sekcje, którymi można zarządzać za pomocą konkretnego kontrolera.
  • Podczas testowania i debugowania aplikacji każdy programista może zlokalizować i poprawić błędy, nie mając przy tym dostępu do wszystkich szczegółów kodu.

Wady korzystania z frameworka CakePHP

  • Dokumentacja CakePHP nie jest tak obszerna, jak być powinna.
  • Aby używać CakePHP, programista musi zaktualizować domyślne trasy w celu tworzenia fantazyjnych URLs, co wymaga więcej pracy w porównaniu do niektórych innych frameworków PHP.
  • W porównaniu do innych frameworków, CakePHP wykorzystuje routing jednokierunkowy.
  • Nauka PHP framework nie zawsze jest łatwy dla początkujących.
  • Kolejną wadą w porównaniu z frameworkami takimi jak Ruby on Rails jest routing jednokierunkowy.

FAQ

Tak, do utrzymania istniejących projektów CakePHP i dla zespołów, które cenią sobie podejście „konwencja ponad konfiguracją”. Laravel i Symfony mają większe społeczności, ale CakePHP 5 jest aktywnie utrzymywany i pozostaje solidnym, produktywnym frameworkiem.

Oba to frameworki PHP oparte na platformie MVC. Laravel oferuje rozbudowany ekosystem, ekspresyjną składnię i Eloquent ORM. CakePHP kładzie nacisk na ścisłe konwencje i szybkie tworzenie szkieletów z minimalną konfiguracją. Laravel jest bardziej popularny; CakePHP może być szybszy w uruchomieniu konwencjonalnej aplikacji.

CakePHP 5, obecna główna wersja, wymaga PHP 8.1 lub nowszego. Starsza wersja CakePHP 4 obsługiwała PHP 7.4 i nowsze, ale zbliża się koniec jej wsparcia, dlatego nowe projekty powinny bazować na CakePHP 5 w nowszej wersji PHP.

Tak. Sztuczna inteligencja potrafi generować migracje, encje, tabele, kontrolery i szablony dla zasobu CRUD zgodnie z konwencjami CakePHP, a także wyjaśniać polecenia konsoli bake. RevPrzejrzyj zasady walidacji i przetestuj każdą akcję.

Tak. Sztuczna inteligencja może oznaczać przestarzałe metody, zaktualizowane przestrzenie nazw i zmiany w sygnaturach oraz krok po kroku sugerować zamienniki. Ponieważ migracje są duże, należy przeprowadzać aktualizacje stopniowo i uruchamiać zestaw testów po każdej zmianie.

Podsumuj ten post następująco: