--- /dev/null
+<?php
+
+ require_once('protected/required.php');
+
+ class PdoCustomerManager extends AbstractPdoManager {
+
+ public function createCustomer($customer) {
+
+ $query = $this -> pdo -> prepare(
+ 'INSERT INTO customers (
+ ap_id,
+ name
+ ) VALUES (
+ :ap_id,
+ :name
+ );'
+ );
+ $query -> bindValue(':ap_id', $customer -> getAPId());
+ $query -> bindValue(':name', $customer -> getName());
+ $query -> execute();
+ }
+
+ public function updateCustomer($customer) {
+
+ $query = $this -> pdo -> prepare(
+ 'UPDATE customers
+ SET ap_id = :ap_id,
+ name = :name
+ WHERE id = :id'
+ );
+ $query -> bindValue(':id', $customer -> getId());
+ $query -> bindValue(':ap_id', $customer -> getAPId());
+ $query -> bindValue(':name', $customer -> getName());
+ $query -> execute();
+ }
+
+ public function getCustomer($id) {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM customers WHERE id = :id');
+ $query -> bindValue(':id', $id);
+ $query -> execute();
+
+ $result = $query -> fetch(PDO::FETCH_ASSOC);
+ $customer = new Customer($result['id'], $result['ap_id'], $result['name']);
+
+ $query->closeCursor();
+
+ return $customer;
+ }
+
+ public function getCustomerByAPId($identifiantAP) {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM customers WHERE ap_id = :ap_id');
+ $query -> bindValue(':ap_id', $identifiantAP);
+ $query -> execute();
+
+ $result = $query -> fetch(PDO::FETCH_ASSOC);
+ $customer = new Customer($result['id'], $result['ap_id'], $result['name']);
+
+ $query->closeCursor();
+
+ return $customer;
+ }
+
+ public function getCustomers() {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM customers');
+ $query -> execute();
+
+ $results = $query -> fetchAll(PDO::FETCH_ASSOC);
+ $customers = array();
+ foreach ($results as $result) {
+ $customers[] = new Customer($result['id'], $result['ap_id'], $result['name']);
+ }
+
+ $query->closeCursor();
+
+ return $customers;
+ }
+
+ public function removeCustomer($customer) {
+
+ $query = $this -> pdo -> prepare('DELETE FROM customers WHERE id = :id');
+ $query -> bindValue('id', $customer -> getId());
+ $query -> execute();
+ }
+
+ }
+