Looking for cakephp Keywords? Try Ask4Keywords

cakephpErste Schritte mit cakephp


Bemerkungen

In diesem Abschnitt erhalten Sie einen Überblick darüber, was cakephp ist und warum ein Entwickler es verwenden möchte.

Es sollte auch alle großen Themen innerhalb von cakephp erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für cakephp neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.

Versionen

Ausführung Veröffentlichungsdatum
1.2.0 2008-12-26
1.3.0 2010-04-25
2.0.0 2011-10-17
3.0.0 2015-03-22

Grundlegendes erstes leeres Projekt

Erstes Erstellen und Herunterladen (CakePHP 3.x)

Der einfachste Weg, ein neues CakePHP-Projekt zu erstellen, ist via Composer (wenn Sie sich mit Composer nicht auskennen, finden Sie hier weitere Informationen).

Installieren Sie Composer

Wenn Sie es installieren müssen und sich auf einem Windows-Computer befinden, befolgen Sie diese Anleitung

Wenn Sie Linux / Unix / OSX verwenden, befolgen Sie diese Anleitung

Erstellen Sie das erste CakePHP-Projekt

Öffnen Sie ein Konsolenfenster und navigieren Sie zu Ihrer Installation von php (unter Windows mit der Standardinstallation von xampp ist dies C:\xampp\php ).

Führen Sie den folgenden Befehl aus, um ein leeres Projekt zu erstellen:

php composer.phar create-project --prefer-dist cakephp/app name_of_your_project
 

Backen / Modell / Ansicht / Controller

Die Magie von CakePHP ist Backen - eine automatisierte Generierung von Controller-, Modell- und View-Code mit grundlegenden CRUD-Optionen.

Vor dem Backen müssen Sie Ihre Datenbankverbindung konfigurieren. Dazu müssen Sie die Datei config/app.php in Ihrem Projekt bearbeiten.

'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,
]
 

]

Wenn Ihre Datenbank korrekt verbunden ist, geben Sie bin/cake bake im Stammordner Ihres Projekts in einem Konsolenfenster ein.

Dies sollte etwas wie folgt ausgeben:

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.
 

Der Einfachheit halber backen wir alles mit den Standardeinstellungen. Dazu geben Sie ein

cake bake all
 

Dies gibt etwas in diese Richtung aus:

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.
 

Durch Ausführen von cake bake all <modelNameYouWantToBake> , die Tabelle, den Controller, das Gerät und die Ansichtsdateien. Führen Sie dies für jeden möglichen Modellnamen aus und Sie haben ein funktionierendes Projekt mit grundlegenden CRUD-Optionen.

Jetzt können Sie Ihren Browser öffnen und sehen, wie er aussieht, und das Projekt um Ihre eigene Logik erweitern

CakePHP 2.x Grundlegende Einführung

Spricht über die Verzeichnisstruktur von CakePHP, was jeder Ordner bedeutet.

CakePHP hat einige Hauptordner

  1. app - Es enthält unseren Anwendungsquellcode. Der gesamte Code befindet sich in diesem Verzeichnis.
  2. lib - Dies ist der cakephp-Kern-Liberar, er enthält den gesamten Code der Basis-cakephp-Bibliothek. Das Bearbeiten von Code in diesem Verzeichnis wird nicht empfohlen, da dies zu Fehlern beim Aktualisieren der Cakephp-Bibliothek führen kann.
  3. Plugins - Dies enthält den Code für die Cakephp-Plugins, der für unsere Anwendung verwendet wird.
  4. Anbieter - Dies enthält externen Code. Dieser Code verwendet keine Cakephp-Bibliothek.
  5. index.php - Dies ist die Indexdatei.

In einem einzigen Projekt können mehrere Anwendungen gehostet werden. dh sie können dieselben lib-Ordner, Plugins und Anbieter verwenden.

Um den lib-Code zu ändern, empfiehlt es sich, sie in unserem App-Ordner zu erweitern und die Änderungen vorzunehmen.

Plug-Ins und Hersteller-Ordner werden von allen Anwendungen gemeinsam genutzt, die sich in demselben Verzeichnis befinden.

index.php ist die Datei, die zuerst aufgerufen wird.

Geben Sie hier die Bildbeschreibung ein

Nun sollten wir zu unserem App-Ordner springen

CakePHP3-Ordnerstruktur

Nach dem Download sind dies die Dateien und Ordner, die Sie sehen sollten:

  • Der Ordner bin enthält die ausführbaren Dateien der Cake-Konsole.
  • Der Ordner config enthält die Konfigurationsdateien, die CakePHP verwendet. Datenbankverbindungsdetails, Bootstrapping, Kernkonfigurationsdateien und mehr sollten hier gespeichert werden.
  • Im Plugins-Ordner werden die von Ihrer Anwendung verwendeten Plugins gespeichert.
  • Der Protokollordner enthält normalerweise Ihre Protokolldateien, abhängig von Ihrer Protokollkonfiguration.
  • Im src-Ordner werden die Dateien Ihrer Anwendung abgelegt.
  • Im Testordner werden die Testfälle für Ihre Anwendung abgelegt.
  • Im tmp-Ordner speichert CakePHP temporäre Daten. Die tatsächlich gespeicherten Daten hängen von der Konfiguration von CakePHP ab. In diesem Ordner werden jedoch normalerweise Modellbeschreibungen und manchmal auch Sitzungsinformationen gespeichert.
  • Im Herstellerordner werden CakePHP und andere Anwendungsabhängigkeiten installiert. Machen Sie eine persönliche Verpflichtung, keine Dateien in diesem Ordner zu bearbeiten.
  • Das Webroot-Verzeichnis ist das öffentliche Dokumentstammverzeichnis Ihrer Anwendung. Es enthält alle Dateien, die öffentlich zugänglich sein sollen.

Stellen Sie sicher, dass die Ordner tmp und logs vorhanden und beschreibbar sind. Andernfalls wird die Leistung Ihrer Anwendung stark beeinträchtigt. Im Debug-Modus wird CakePHP Sie warnen, falls dies nicht der Fall ist.

In src Ordner

In dem sPH-Ordner von CakePHP erledigen Sie den größten Teil Ihrer Anwendungsentwicklung.

Konsolenordner enthält die Konsolenbefehle und Konsolentasks für Ihre Anwendung. Weitere Informationen finden Sie unter Shells, Aufgaben und Konsolenwerkzeuge.

Der Controller- Ordner enthält die Controller Ihrer Anwendung und deren Komponenten.

Der Locale- Ordner speichert String-Dateien für die Internationalisierung.

Der Modellordner enthält Tabellen, Entitäten und Verhalten Ihrer Anwendung.

Ansichtspräsentationsklassen werden hier platziert: Zellen, Helfer und Vorlagendateien.

Vorlagen - Präsentationsdateien werden hier platziert: Elemente, Fehlerseiten, Layouts und Ansichtsvorlagendateien.

Installation oder Setup

Bedarf

Die folgende Installationsanleitung bezieht sich auf Cakephp 2.8 und höher. Alle cakephp-Versionen unter 2.8 sind nicht mit PHP 7 kompatibel

HTTP-Server Zum Beispiel: Apache. Mod_rewrite zu haben ist bevorzugt, aber keinesfalls erforderlich.

  • PHP 5.5.9 oder höher (einschließlich PHP 7).
  • mbstring PHP-Erweiterung
  • intl PHP Erweiterung

Beachtung! In XAMPP und WAMP funktioniert die Erweiterung mbstring standardmäßig. In XAMPP ist die Intl-Erweiterung enthalten. Sie müssen jedoch die Erweiterung = php_intl.dll in php.ini aufheben und den Server über die XAMPP-Systemsteuerung neu starten. In WAMP ist die Intl-Erweiterung standardmäßig aktiviert, funktioniert aber nicht. Damit dies funktioniert, müssen Sie in den php-Ordner wechseln (standardmäßig C: \ wamp \ bin \ php \ php {version}). Kopieren Sie alle Dateien, die wie icu * .dll aussehen, und fügen Sie sie in das Verzeichnis apache bin C ein: \ wamp \ bin \ apache \ apache {version} \ bin. Starten Sie dann alle Dienste neu und es sollte OK sein.

Eine Datenbank-Engine ist zwar nicht erforderlich, aber wir denken, dass die meisten Anwendungen eine verwenden werden. CakePHP unterstützt eine Vielzahl von Datenbankspeicher-Engines:

  • MySQL (5.1.10 oder höher)
  • PostgreSQL
  • Microsoft SQL Server (2008 oder höher)
  • SQLite 3

Bedarf

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
 

Normalerweise mache ich eine Apache- und MySQL-Installation auf einer Linux-Box. Ich kann auch Windows verwenden, empfehle es aber nicht;) Daher mache ich normalerweise einen neuen Eintrag in der Datei / etc / hosts, um einen Sitenamen für cakephp verfügbar zu machen.

127.0.0.1   localhost caketest.local
 

Nächster Schritt, um alle cakephp-Dateien in ein Unterverzeichnis innerhalb von / home / myusername / public_html / caketest zu kopieren

app
cake
index.php
plugins
README
vendors
.htaccess
 

dann habe ich die Site zu Apache eingerichtet (nicht notwendig),

<VirtualHost *: 80> DocumentRoot "/ home / myusername / public_html / caketest" Servername caketest.local
# Dies sollte in der Produktionsumgebung SetEnv APPLICATION_ENV Entwicklung weggelassen werden

<Directory "/home/myusername/public_html/caketest">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
 

Apache neu starten. Sie müssen auch die .htaccess-Dateien bearbeiten und eine RewriteBase-Direktive mit dem Pfad zum eigentlichen Verzeichnis einfügen, z

 RewriteBase /~myusername/caketest
 

Erstellen Sie eine Datenbank, stellen Sie die Datenbankverbindung in Cake-Konfigurationsdateien ein. Sie können Ihren Browser auf http: //caketest.local verweisen, wenn Sie nicht möchten, dass eine URL für die Testsite Hosts und die Erstellung des Apache vhost überspringt, die zu verwendende URL jedoch http: / localhost / ~ myusername / caketest lautet

Eine weitere wichtige Sache ist die Aktivierung des Userdir-Moduls in Apache und die Überprüfung, ob die Verwendung von PHP auch in Userdirs aktiviert ist.