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.

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.

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.
