Ce didacticiel montre le déploiement d'une application CakePHP à AppFog, une plate-forme en tant que service (PAAS), tout en mettant en évidence les meilleures pratiques pour la structure d'application PHP. Nous créerons une application simple de prise de notes, puis organiserons ses composants pour une gestion efficace.
Concepts clés:
APP_ENV
) pour contrôler le comportement de l'application. Pour commencer avec appfog:
AppFog, basé sur Cloud Foundry, prend en charge diverses langues et des cibles de déploiement (AWS, HP OpenStack, Azure, Rackspace). L'inscription ne nécessite qu'un e-mail et un mot de passe, accordant l'accès au plan gratuit. Créez votre compte pour continuer.
Développement des applications locales:
http://fognotes.local
). Créez une base de données MySQL (par exemple, fognotes_local
). data
avec des sous-répertoires config
et logs
. Déplacez le répertoire app/tmp
dans data
et assurez-vous que le répertoire logs
a des autorisations d'écriture de serveur Web. Créez un lien symbolique à la console de CakePHP: ln -s lib/Cake/Console/cake cake
. La structure résultante doit ressembler: <code>FogNotes/ app/ data/ config/ logs/ tmp/ cache/ logs/ sessions/ tests/ lib/ Cake/ plugins/ vendors/ cake index.php</code>
Cette structure isole le code d'application, le framework, les bibliothèques et les données pour une meilleure gestion.
app/webroot/index.php
pour définir le répertoire personnalisé TMP
: <code>FogNotes/ app/ data/ config/ logs/ tmp/ cache/ logs/ sessions/ tests/ lib/ Cake/ plugins/ vendors/ cake index.php</code>
app/Config/database.php
pour charger dynamiquement les paramètres de base de données basés sur l'environnement: <?php // Custom TMP directory if (!defined('TMP')) { define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS); }
app/Config/bootstrap.php
pour enregistrer le chemin data/config
et déterminer l'environnement (en utilisant APP_ENV
variable d'environnement ou défaut en `` local ''): <?php class DATABASE_CONFIG { // ... (code to dynamically load database config based on APP_ENV) ... }
data/config/local.php
et data/config/prod.php
Fichiers pour maintenir les paramètres de base de données spécifiques à l'environnement et autres configurations. Exemple local.php
: <?php // ... (code to register data/config path and set APP_ENV) ...
Déploiement sur appfog:
fognotes_prod
). APP_ENV
sur "prod". af
pour pousser votre code local sur appfog: af update FogNotes
. af tunnel
pour créer un tunnel dans votre base de données distante et importez le schéma data/config/notes.sql
. étapes finales et résumé:
Créez le tableau notes
dans votre base de données locale et utilisez la commande Bake de CakePHP (./cake bake
) pour générer le modèle, la vue et le contrôleur nécessaires. Mettre à jour app/Config/routes.php
pour diriger l'URL racine vers l'index de vos notes. Redéployez votre application en utilisant af update FogNotes
.
Cette approche structurée simplifie le développement, le déploiement et l'entretien de vos applications CakePHP sur AppFog. La fonction de clonage d'AppFog ajoute une plus grande flexibilité pour gérer différents environnements.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!