cakephpDémarrer avec cakephp


Remarques

Cette section fournit une vue d'ensemble de ce qu'est cakephp et pourquoi un développeur peut vouloir l'utiliser.

Il devrait également mentionner tous les grands sujets dans cakephp, et établir un lien avec les sujets connexes. La documentation de cakephp étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.

Versions

Version Date de sortie
1.2.0 2008-12-26
1.3.0 2010-04-25
2.0.0 2011-10-17
3.0.0 2015-03-22

Premier projet de base vide

Création initiale et téléchargement (CakePHP 3.x)

La manière la plus simple de créer un projet CakePHP est via Composer (si vous ne connaissez pas le compositeur, regardez ici pour plus d'informations)

Installez Composer

Si vous devez l'installer et que vous êtes sur une machine Windows, suivez ce guide

Si vous utilisez Linux / Unix / OSX, suivez ce guide

Créer le premier projet CakePHP

Ouvrez une fenêtre de console et accédez à votre installation de php (sous Windows avec l'installation par défaut de xampp, il s'agit de C:\xampp\php )

Pour créer un projet vide, exécutez la commande suivante:

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

Cuisson / Modèle / Vue / Contrôleurs

La magie de CakePHP est la cuisson - une génération automatisée de contrôleur, de modèle et de code de vue avec des options de base CRUD.

Avant la cuisson, votre connexion à la base de données doit être configurée. Pour ce faire, vous devez éditer le fichier config/app.php dans votre projet.

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

],

Si votre base de données est correctement connectée, entrez bin/cake bake dans le dossier racine de votre projet dans une fenêtre de la console.

Cela devrait produire quelque chose comme ceci:

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.
 

Pour simplifier, nous allons tout faire avec les paramètres par défaut. Pour ce faire, vous entrez

cake bake all
 

Cela produira quelque chose dans ce sens:

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.
 

En exécutant cake bake all <modelNameYouWantToBake> les cake bake all <modelNameYouWantToBake> modèle, de table, de contrôleur, de fixture et de vue sont créés. Exécutez ceci pour chaque nom de modèle possible et vous avez un projet fonctionnel avec des options de base CRUD.

Maintenant, vous pouvez ouvrir votre navigateur et voir à quoi il ressemble et commencer à étendre le projet par votre propre logique

CakePHP 2.x Introduction de base

Parlera de la structure de répertoire de CakePHP, ce que chaque dossier signifie.

CakePHP a des dossiers principaux

  1. app - Il contient notre code source d'application, tout notre code se trouve sous ce répertoire.
  2. lib - Ceci est le libraire de base de cakephp, il contient tout le code de base de la bibliothèque de cakephp. La modification du code à l'intérieur de ce répertoire n'est pas suggérée car ils peuvent provoquer des erreurs lors de la mise à niveau de la bibliothèque Cakephp.
  3. plugins - Ceci contient le code des plugins de cakephp qui sera utilisé pour notre application.
  4. vendeurs - Ceci contient du code externe, Ce code n'utilisera pas la bibliothèque Cakephp.
  5. index.php - Ceci est le fichier d'index.

Nous pouvons avoir plusieurs applications hébergées dans un même projet. c'est-à-dire qu'ils peuvent utiliser les mêmes dossiers, plug-ins et fournisseurs de lib.

Pour modifier le code de la lib, il est recommandé de les étendre dans notre dossier d’application et d’effectuer les modifications.

Les plug-ins et les dossiers des fournisseurs sont partagés par toutes les applications hébergées dans le même répertoire.

index.php est le fichier appelé en premier.

entrer la description de l'image ici

Maintenant, nous devrions sauter dans notre dossier d'application

Structure de dossier CakePHP3

Après avoir téléchargé, voici les fichiers et les dossiers que vous devriez voir:

  • Le dossier bin contient les exécutables de la console Cake.
  • Le dossier de configuration contient les fichiers de configuration utilisés par CakePHP. Les détails de connexion à la base de données, l'amorçage, les fichiers de configuration de base et plus doivent être stockés ici.
  • Le dossier plugins est l'endroit où les plugins utilisés par votre application sont stockés.
  • Le dossier des journaux contient normalement vos fichiers journaux, en fonction de votre configuration de journal.
  • Le dossier src sera l'endroit où les fichiers de votre application seront placés.
  • Le dossier de tests sera l'endroit où vous placez les cas de test pour votre application.
  • Le dossier tmp est l'endroit où CakePHP stocke les données temporaires. Les données réelles stockées dépendent de la configuration de CakePHP, mais ce dossier est généralement utilisé pour stocker des descriptions de modèles et parfois des informations de session.
  • Le dossier du fournisseur est l'endroit où CakePHP et les autres dépendances d'application seront installés. S'engager personnellement à ne pas modifier les fichiers de ce dossier.
  • Le répertoire webroot est la racine du document public de votre application. Il contient tous les fichiers que vous voulez être accessibles publiquement.

Assurez-vous que les dossiers tmp et logs existent et sont accessibles en écriture, sinon les performances de votre application seront sérieusement affectées. En mode débogage, CakePHP vous avertira si ce n’est pas le cas.

Dossier src intérieur

Le dossier src de CakePHP est l'endroit où vous réaliserez l'essentiel du développement de vos applications.

Le dossier de la console contient les commandes de la console et les tâches de la console pour votre application. Pour plus d'informations, voir Coques, tâches et outils de la console.

Le dossier du contrôleur contient les contrôleurs de votre application et leurs composants.

Le dossier Locale stocke les fichiers de chaîne pour l'internationalisation.

Le dossier modèle contient les tables, les entités et les comportements de votre application.

View - les classes de présentation sont placées ici: cellules, helpers et fichiers de modèle.

Template - les fichiers de présentation sont placés ici: éléments, pages d'erreur, mises en page et fichiers de modèles de vue.

Installation ou configuration

Exigences

Le guide d'installation suivant est destiné à cakephp 2.8 et versions ultérieures. Toutes les versions de cakephp inférieures à 2.8 ne sont pas compatibles avec php 7

Serveur HTTP. Par exemple: Apache. Avoir mod_rewrite est préférable, mais en aucun cas requis.

  • PHP 5.5.9 ou supérieur (y compris PHP 7).
  • extension PHP mbstring
  • Intl extension PHP

Attention! Dans XAMPP et WAMP, l'extension mbstring fonctionne par défaut. Dans XAMPP, l'extension intl est incluse, mais vous devez décommenter extension = php_intl.dll dans php.ini et redémarrer le serveur via le panneau de configuration XAMPP. Dans WAMP, l'extension intl est "activée" par défaut mais ne fonctionne pas. Pour que cela fonctionne, vous devez aller dans le dossier php (par défaut) C: \ wamp \ bin \ php \ php {version}, copiez tous les fichiers qui ressemblent à icu * .dll et collez-les dans le répertoire apache bin C: \ wamp \ bin \ apache \ apache {version} \ bin. Puis redémarrez tous les services et ça devrait aller.

Bien qu'un moteur de base de données ne soit pas requis, nous pensons que la plupart des applications en utiliseront un. CakePHP prend en charge une variété de moteurs de stockage de base de données:

  • MySQL (5.1.10 ou supérieur)
  • PostgreSQL
  • Microsoft SQL Server (2008 ou supérieur)
  • SQLite 3

Exigences

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
 

Je fais généralement une installation apache et mysql sur une linuxbox. Je peux aussi utiliser Windows, mais je ne le recommande pas;) Donc, je fais généralement une nouvelle entrée dans le fichier / etc / hosts pour rendre un sitename disponible pour cakephp.

127.0.0.1   localhost caketest.local
 

Etape suivante pour copier tous les fichiers CakePHP dans un sous-répertoire de / home / myusername / public_html / caketest

app
cake
index.php
plugins
README
vendors
.htaccess
 

puis j'ai installé le site sur apache (pas nécessaire),

<VirtualHost *: 80> DocumentRoot "/ home / myusername / public_html / caketest" NomServeur caketest.local
# Cela doit être omis dans l'environnement de production. Développement SetEnv APPLICATION_ENV

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

redémarrer apache. vous devez également éditer les fichiers .htaccess et placer une directive RewriteBase avec le chemin hte dans le répertoire réel, par exemple

 RewriteBase /~myusername/caketest
 

créer une base de données, définir la connexion db dans les fichiers de configuration de gâteau et c'est tout. vous pouvez pointer votre navigateur vers http: //caketest.local si vous ne voulez pas d'URL de site de test que vous pouvez ignorer, et apache vhost creation, mais l'URL à utiliser doit être http: / localhost / ~ myusername / caketest

Une autre chose importante est d’activer userdir modul dans apache, et aussi de vérifier si l’utilisation de php est également activée dans userdirs.