apéro php amiens - l'orm de cakephp, c'est du gâteau !

20
Apéro ! PHP …

Upload: iteracode

Post on 14-Apr-2017

72 views

Category:

Software


1 download

TRANSCRIPT

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

Apéro ! PHP …

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

Benjamin Lampé[email protected]@bybenjii

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

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

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

- Object-Relational Mapping

- Permet de convertir des données

issues de bases relationnelles en

objets

- Et vice-versa

Orm

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

De base avec le Framework : - composer create-project cakephp/app my_app

Ou seul :- composer require cakephp/orm

CakePHP Orm

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

ArchitectureDatabase

Connexion Dialect Type

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

use Cake\Datasource\ConnectionManager;

ConnectionManager::config(’default’, [ ’className’ => ’Cake\Database\Connection’, ’driver’ => ’Cake\Database\Driver\Mysql’, ’database’ => ’test’, ’username’ => ’root’, ’password’ => ’secret’

]);

Connexion

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

ArchitectureORM

Table(+ Behavior)

Entity Query(+ ResultSet)

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

Une tablenamespace App\Model\Table;

use Cake\ORM\Table;

class ArticlesTable extends Table{

}

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

Une entiténamespace App\Model\Entity;

use Cake\ORM\Entity;

class Article extends Entity{

}

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

use Cake\ORM\TableRegistry;

$articles = TableRegistry::get('Articles'); $query = $articles->find();

foreach ($query as $row) { echo $row->title;

}

Exemple rapide

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

- Une application simple, des villes,

des associations, des subventions

(#troll).

- Chaque association appartient à une

ville.

- Chaque association peut avoir une

ou plusieurs subventions.

Exemple

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

- associations/

- subventions/

- villes/

Exemple

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

AssociationsDans la BDD cette fois ci ..

- hasMany

- belongsTo

- belongsToMany

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

Récupérer une entité

$this->Articles->get(3)

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

Ajout, modif, ..$this->Articles->save($article)

- Si $article->id => modif

- Si !$article->id => ajout

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

Requêtes

- La liste des associations

- Le nombre d’associations par ville

- Toutes les subventions d’une ville

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

- Finder, finder, finder

- Behaviors

Faire mieux ?

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

Api, vous avez dit Api ?

La cerise sur le gâteau

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

Apéro …PHP !