cakephp Samouczek
Rozpoczęcie pracy z cakephp
Szukaj…
Uwagi
Ta sekcja zawiera przegląd tego, czym jest cakephp i dlaczego deweloper może chcieć go użyć.
Powinien również wymieniać wszelkie duże tematy w cakephp i link do powiązanych tematów. Ponieważ Dokumentacja dla cakephp jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.
Wersje
| Wersja | Data wydania |
|---|---|
| 1.2.0 | 26.12.2008 |
| 1.3.0 | 2010-04-25 |
| 2.0.0 | 2011-10-17 |
| 3.0.0 | 22.03.2015 |
Instalacja lub konfiguracja
Wymagania
Poniższy przewodnik konfiguracji dotyczy cakephp 2.8 i nowszych. Wszystkie wersje cakephp niższe niż 2.8 nie są kompatybilne z php 7
Serwer HTTP. Na przykład: Apache. Posiadanie mod_rewrite jest preferowane, ale w żadnym wypadku nie jest wymagane.
- PHP 5.5.9 lub nowszy (w tym PHP 7).
- mbstring Rozszerzenie PHP
- intl rozszerzenie PHP
Uwaga! Zarówno w XAMPP, jak i WAMP, rozszerzenie mbstring działa domyślnie. W XAMPP rozszerzenie intl jest włączone, ale musisz cofnąć komentarz rozszerzenie = php_intl.dll w php.ini i zrestartować serwer za pomocą Panelu sterowania XAMPP. W WAMP rozszerzenie intl jest domyślnie „aktywowane”, ale nie działa. Aby to zadziałało, musisz przejść do folderu php (domyślnie) C: \ wamp \ bin \ php \ php {wersja}, skopiuj wszystkie pliki, które wyglądają jak icu * .dll i wklej je do katalogu bin apache C: \ wamp \ bin \ apache \ apache {wersja} \ bin. Następnie uruchom ponownie wszystkie usługi i powinno być OK.
Chociaż silnik bazy danych nie jest wymagany, wyobrażamy sobie, że większość aplikacji będzie z niego korzystać. CakePHP obsługuje różne silniki do przechowywania danych:
- MySQL (5.1.10 lub nowszy)
- PostgreSQL
- Microsoft SQL Server (2008 lub wyższy)
- SQLite 3
Struktura folderów CakePHP3
Po pobraniu są to pliki i foldery, które powinieneś zobaczyć:
- Folder bin zawiera pliki wykonywalne konsoli Cake.
- Folder config zawiera pliki konfiguracyjne, których używa CakePHP. Szczegóły dotyczące połączenia z bazą danych, ładowania początkowego, podstawowych plików konfiguracyjnych i innych.
- Folder wtyczek jest miejscem, w którym przechowywane są wtyczki, których używa Twoja aplikacja.
- Folder dzienników zwykle zawiera pliki dziennika, w zależności od konfiguracji dziennika.
- Folder src będzie miejscem, w którym zostaną umieszczone pliki aplikacji.
- W folderze testów będzie miejsce na przypadki testowe dla aplikacji.
- Folder tmp to miejsce, w którym CakePHP przechowuje dane tymczasowe. Rzeczywiste dane, które przechowuje, zależą od konfiguracji CakePHP, ale ten folder jest zwykle używany do przechowywania opisów modeli i czasami informacji o sesji.
- Folder dostawcy to miejsce, w którym zostaną zainstalowane CakePHP i inne zależności aplikacji. Podejmij osobiste zobowiązanie, aby nie edytować plików w tym folderze.
- Katalog webroot jest publicznym katalogiem głównym aplikacji. Zawiera wszystkie pliki, które mają być publicznie dostępne.
Upewnij się, że foldery tmp i logi istnieją i są zapisywalne, w przeciwnym razie wydajność aplikacji zostanie poważnie ograniczona. W trybie debugowania CakePHP ostrzeże Cię, jeśli tak nie jest.
Wewnątrz folderu src
Folder src CakePHP to miejsce, w którym wykonasz większość tworzenia aplikacji.
Folder konsoli zawiera polecenia konsoli i zadania konsoli dla aplikacji. Aby uzyskać więcej informacji, zobacz Powłoki, zadania i narzędzia konsoli.
Folder kontrolera zawiera kontrolery aplikacji i ich składniki.
Folder Locale przechowuje pliki ciągów do internacjonalizacji.
Folder modelu zawiera tabele, encje i zachowania aplikacji.
Widok - umieszczane są tutaj klasy prezentacyjne: komórki, pomocniki i pliki szablonów.
Szablon - umieszczane są tutaj pliki prezentacji: elementy, strony błędów, układy i pliki szablonów przeglądania.
Podstawowy pierwszy pusty projekt
Początkowe tworzenie i pobieranie (CakePHP 3.x)
Najłatwiejszym sposobem utworzenia nowego projektu CakePHP jest Composer (jeśli nie wiesz o kompozytorze, zajrzyj tutaj, aby uzyskać więcej informacji)
Zainstaluj Composer
Jeśli musisz go zainstalować i korzystasz z komputera z systemem Windows, postępuj zgodnie z tym przewodnikiem
Jeśli korzystasz z systemu Linux / Unix / OSX, postępuj zgodnie z tym przewodnikiem
Utwórz pierwszy projekt CakePHP
Otwórz okno konsoli i przejdź do instalacji php (w systemie Windows z domyślną instalacją xampp jest to C:\xampp\php )
Aby utworzyć pusty projekt, uruchom następujące polecenie:
php composer.phar create-project --prefer-dist cakephp/app name_of_your_project
Pieczenie / Model / Widok / Kontrolery
Magią CakePHP jest pieczenie - automatyczne generowanie kontrolera, modelu i kodu widoku z podstawowymi opcjami CRUD.
Przed pieczeniem musisz skonfigurować połączenie z bazą danych. Aby to zrobić, musisz edytować plik config/app.php w swoim projekcie.
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'my_app', //in basic xampp: root
'password' => 'sekret', //in basic xampp: ''
'database' => 'my_app', //name of the database you want to connect to your project
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
]
],
Jeśli baza danych jest poprawnie podłączona, wpisz okno bin/cake bake w folderze głównym swojego projektu w oknie konsoli.
To powinno wypisać coś takiego:
Welcome to CakePHP v3.1.6 Console
---------------------------------------------------------------
App : src
Path: /var/www/cakephp.dev/src/
PHP: 5.5.8
---------------------------------------------------------------
The following commands can be used to generate skeleton code for your application.
Available bake commands:
- all
- behavior
- cell
- component
- controller
- fixture
- form
- helper
- mailer
- migration
- migration_snapshot
- model
- plugin
- shell
- shell-helper
- template
- test
By using `cake bake [name]` you can invoke a specific bake task.
Dla uproszczenia upieczemy wszystko z ustawieniami domyślnymi. Aby to zrobić, wpisz
cake bake all
Spowoduje to wygenerowanie czegoś według tych linii:
Welcome to CakePHP v3.2.11 Console
---------------------------------------------------------------
App : src
Path: C:\xampp\htdocs\tipping\src\
PHP : 5.6.15
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Possible model names based on your database:
- users
- blogs
Run `cake bake all [name]` to generate skeleton files.
Uruchamiając cake bake all <modelNameYouWantToBake> tworzone są pliki modelu, tabeli, kontrolera, urządzenia i widoku. Uruchom to dla każdej możliwej nazwy modelu, a masz działający projekt z podstawowymi opcjami CRUD.
Teraz możesz otworzyć przeglądarkę i zobaczyć, jak to wygląda, i rozpocząć rozszerzanie projektu według własnej logiki
Wymagania
1-HTTP Server. For example: Apache. Having mod_rewrite is preferred, but by no means required.
2-PHP 5.5.9 or greater (including PHP 7)
3-mbstring PHP extens ion
4-intl PHP extension
Zwykle wykonuję instalację apache i mysql na Linux-ie. Mogę też korzystać z systemu Windows, ale nie polecam;) Zazwyczaj więc robię nowy wpis w pliku / etc / hosts, aby udostępnić nazwę strony dla cakephp.
127.0.0.1 localhost caketest.local
następny krok, aby skopiować wszystkie pliki cakephp do podkatalogu wewnątrz / home / moja nazwa użytkownika / public_html / caketest
app
cake
index.php
plugins
README
vendors
.htaccess
potem skonfigurowałem stronę do apache (nie jest to konieczne),
<VirtualHost *: 80> DocumentRoot "/ home / myusername / public_html / caketest" ServerName caketest.local
# Należy to pominąć w środowisku produkcyjnym Programowanie SetEnv APPLICATION_ENV
<Directory "/home/myusername/public_html/caketest">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
uruchom ponownie apache. musisz także edytować pliki .htaccess i umieścić dyrektywę RewriteBase ze ścieżką hte do rzeczywistego katalogu, np.
RewriteBase /~myusername/caketest
utwórz bazę danych, ustaw połączenie db w plikach konfiguracyjnych ciasta i to wszystko. możesz skierować przeglądarkę na http: //caketest.local, jeśli nie chcesz testowego adresu URL witryny, możesz pominąć hosty i utworzyć serwer vache apache, ale adres URL do użycia powinien być http: / localhost / ~ moja nazwa_użytkownika / caketest
Inną ważną rzeczą jest włączenie modułu userdir w apache, a także sprawdzenie, czy używanie php jest również włączone w userdirs.
CakePHP 2.x Podstawowe wprowadzenie
Porozmawiamy o strukturze katalogów CakePHP, co oznacza każdy folder.
CakePHP ma kilka głównych folderów
- aplikacja - Zawiera nasz kod źródłowy aplikacji, cały nasz kod znajduje się w tym katalogu.
- lib - To jest liberalny rdzeń cakephp, zawiera cały podstawowy kod biblioteki cakephp. Edycja kodu w tym katalogu nie jest sugerowana, ponieważ mogą powodować błędy podczas aktualizacji biblioteki cakephp.
- wtyczki - Zawiera kod wtyczek cakephp, który będzie używany w naszej aplikacji.
- dostawcy - zawiera kod zewnętrzny, ten kod nie będzie korzystał z biblioteki cakephp.
- index.php - To jest plik indeksu.
Możemy mieć wiele aplikacji hostowanych w ramach jednego projektu. tzn. mogą używać tych samych folderów lib, wtyczek i dostawców.
Aby zmodyfikować kod lib, najlepszą praktyką jest rozszerzenie go w naszym folderze aplikacji i wykonanie modyfikacji.
Foldery wtyczek i dostawców są wspólne dla wszystkich aplikacji hostowanych w tym samym katalogu.
index.php to plik, który jest wywoływany jako pierwszy.
