SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Apéro !
PHP …
Benjamin
Lampérier
benjamin@iteracode.fr
@bybenjii
CakePHP
- Framework PHP Open Source
- Disponible en version 3 depuis 2015
- Convention over configuration
- Les différents modules peuvent être
utilisés séparément
- Object-Relational Mapping
- Permet de convertir des données
issues de bases relationnelles en
objets
- Et vice-versa
Orm
De base avec le Framework :
- composer create-project cakephp/app my_app
Ou seul :
- composer require cakephp/orm
CakePHP Orm
Architecture
Database
Connexion Dialect Type
use CakeDatasourceConnectionManager;
ConnectionManager::config(’default’, [
’className’ => ’CakeDatabaseConnection’,
’driver’ => ’CakeDatabaseDriverMysql’,
’database’ => ’test’,
’username’ => ’root’,
’password’ => ’secret’
]);
Connexion
Architecture
ORM
Table
(+ Behavior)
Entity Query
(+ ResultSet)
Une table
namespace AppModelTable;
use CakeORMTable;
class ArticlesTable extends Table
{
}
Une entité
namespace AppModelEntity;
use CakeORMEntity;
class Article extends Entity
{
}
use CakeORMTableRegistry;
$articles = TableRegistry::get('Articles');
$query = $articles->find();
foreach ($query as $row) {
echo $row->title;
}
Exemple rapide
- Une application simple, des villes,
des associations, des subventions
(#troll).
- Chaque association appartient à une
ville.
- Chaque association peut avoir une
ou plusieurs subventions.
Exemple
- associations/
- subventions/
- villes/
Exemple
Associations
Dans la BDD cette fois ci ..
- hasMany
- belongsTo
- belongsToMany
Récupérer
une entité
$this->Articles->get(3)
Ajout, modif, ..
$this->Articles->save($article)
- Si $article->id => modif
- Si !$article->id => ajout
Requêtes
- La liste des associations
- Le nombre d’associations par ville
- Toutes les subventions d’une ville
- Finder, finder, finder
- Behaviors
Faire mieux ?
Api, vous avez dit Api ?
La cerise sur
le gâteau
Apéro …
PHP !

Contenu connexe

Similaire à Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !

php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Formation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingFormation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingEfficy CRM
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPkemenaran
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Olivier Gutknecht
 
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdflaravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdfHeartKing10
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationgdigugli
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturiteRémi Alvado
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyHugo Hamon
 
Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014Les-Tilleuls.coop
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Olivier Le Goaër
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Cours php -partie 1.pdf
Cours php -partie 1.pdfCours php -partie 1.pdf
Cours php -partie 1.pdfssuserc46a93
 

Similaire à Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau ! (20)

php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Formation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingFormation Efficy CRM - Technical training
Formation Efficy CRM - Technical training
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09
 
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdflaravel.sillo.org-Cours Laravel 10  les bases  installation et organisation.pdf
laravel.sillo.org-Cours Laravel 10 les bases installation et organisation.pdf
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une application
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturite
 
Mieux Développer en PHP avec Symfony
Mieux Développer en PHP avec SymfonyMieux Développer en PHP avec Symfony
Mieux Développer en PHP avec Symfony
 
Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Cours php -partie 1.pdf
Cours php -partie 1.pdfCours php -partie 1.pdf
Cours php -partie 1.pdf
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 

Plus de Iteracode

Etapes de développement Night Code 2018
Etapes de développement Night Code 2018Etapes de développement Night Code 2018
Etapes de développement Night Code 2018Iteracode
 
Guidelines github git_server
Guidelines github git_serverGuidelines github git_server
Guidelines github git_serverIteracode
 
Mockup Night code 2018
Mockup Night code 2018Mockup Night code 2018
Mockup Night code 2018Iteracode
 
Outils et technique Night Code 2018
 Outils et technique Night Code 2018 Outils et technique Night Code 2018
Outils et technique Night Code 2018Iteracode
 
À la découverte des API - Louis Viart - Iteracode
À la découverte des API - Louis Viart - IteracodeÀ la découverte des API - Louis Viart - Iteracode
À la découverte des API - Louis Viart - IteracodeIteracode
 
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - IteracodeIteracode
 
Présentation de l'approche agile
Présentation de l'approche agilePrésentation de l'approche agile
Présentation de l'approche agileIteracode
 

Plus de Iteracode (8)

Etapes
EtapesEtapes
Etapes
 
Etapes de développement Night Code 2018
Etapes de développement Night Code 2018Etapes de développement Night Code 2018
Etapes de développement Night Code 2018
 
Guidelines github git_server
Guidelines github git_serverGuidelines github git_server
Guidelines github git_server
 
Mockup Night code 2018
Mockup Night code 2018Mockup Night code 2018
Mockup Night code 2018
 
Outils et technique Night Code 2018
 Outils et technique Night Code 2018 Outils et technique Night Code 2018
Outils et technique Night Code 2018
 
À la découverte des API - Louis Viart - Iteracode
À la découverte des API - Louis Viart - IteracodeÀ la découverte des API - Louis Viart - Iteracode
À la découverte des API - Louis Viart - Iteracode
 
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
15 min pour comprendre : Git et GitHub - Charles Fourdrignier - Iteracode
 
Présentation de l'approche agile
Présentation de l'approche agilePrésentation de l'approche agile
Présentation de l'approche agile
 

Apéro PHP Amiens - l'ORM de CakePHP, c'est du gâteau !