/aperophp-cakephp

Primary LanguagePHPMIT LicenseMIT

AperoPHP - CakePHP

Installation

Avec docker

./install.sh

Sans docker

Requis :

  • PHP >= 7.1
  • Composer
  • L'extension PHP mbstring
  • L'extension PHP intl
  • L'extension PHP simplexml
composer install

Commandes

Les commandes seront à adapter si vous n'utilisez pas docker

  • Composer : docker-compose run --rm composer --ignore-platform-reqs

  • Cake Shell : docker-compose run --rm web bin/cake

Documentation

CakePHP

Plugins

Processus

Voici les étapes que j'ai réalisées afin de créer le CRUD de la table users

Migration

Ressources :

Création

docker-compose run --rm web bin/cake bake migration CreateUsers

Edition du fichier ./config/Migrations/20181021152751_CreateUsers.php

Application des migrations

docker-compose run --rm web bin/cake migrations migrate

Création des classes MVC

Ressources :

Génération avec Bake

docker-compose run --rm web bin/cake bake controller Users
docker-compose run --rm web bin/cake bake model Users

Les fichiers créés sont :

Classes :

  • src/Controller/UsersController.php
  • src/Model/Entity/User.php
  • src/Model/Table/UsersTable.php

Tests :

  • tests/Fixture/UsersFixture.php
  • tests/TestCase/Controller/UsersControllerTest.php
  • tests/TestCase/Model/Table/UsersTableTest.php

Création des templates

  • src/Template/Users/add.twig
  • src/Template/Users/edit.twig
  • src/Template/Users/index.twig
  • src/Template/Element/Users/form.twig

Exercice

Créer un système de gestion d'article. Un article sera lié à un seul utilisateur.

Champs d'un article :

  • titre
  • slug : doit être unique et généré automatiquement (idéalement créer un behavior)
  • contenu (text)
  • id de l'utilisateur (association belongsTo)
  • actif

Dans un deuxième temps, si vous avez le temps vous pourrez fournir une API publique afin de fournir la liste des articles actifs avec leur contenu. Les routes d'API devront être du type /api/ControlleurName/action.

Resources

1ère partie

API