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

  1. aplikacja - Zawiera nasz kod źródłowy aplikacji, cały nasz kod znajduje się w tym katalogu.
  2. 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.
  3. wtyczki - Zawiera kod wtyczek cakephp, który będzie używany w naszej aplikacji.
  4. dostawcy - zawiera kod zewnętrzny, ten kod nie będzie korzystał z biblioteki cakephp.
  5. 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.

wprowadź opis zdjęcia tutaj

Teraz powinniśmy przejść do naszego folderu aplikacji



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow