Logo: Marc Harnist

Index des pages de la catégorie "POO"

La fonction php throw
Le 30/03/2018

Extrait:

// Par défaut PDO renvoie un tableau
// FETCH_ASSOC renvoie un tableau associatif
for" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier

// Par défaut PDO renvoie un tableau
// FETCH_ASSOC renvoie un tableau associatif
foreach($db->query("SELECT * FROM utilisateur", PDO::FETCH_ASSOC) as $row){
var_dump($row);
}

// I create my own exception child class
class NullDiviserException extends Exception{} // Exception{} is a PHP object

class Fraction {
protected $numerateur;
protected $denominateur;

public function __construct($numerateur = 0, $denominateur = 0){
$this->numerateur = $numerateur;
$this->denominateur = $denominateur;

// using THROW
if($this->denominateur == 0){
throw new NullDiviserException("Division par zéro impossible mon petit ami!");
// Notez que Exception est un objet

}
}
public function __toString(){
return $this->numerateur."/".$this->denominateur;
}
}

Bien imprimer les arrays
Le 26/03/2018
Auteur: Marc L. Harnist

Extrait:

Pour un plus bel affichage de print_r($array);
installez la fonction print_r entre des balise" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier

Pour un plus bel affichage de print_r($array);
installez la fonction print_r entre des balises "pre"
Testez,
vous aurez une surprise

PDO read
Le 26/03/2018
Auteur: Marc

Extrait:


// Par défaut PDO renvoie un tableau
$reqSelect = "SELECT * FROM utilisateur";
" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier


// Par défaut PDO renvoie un tableau
$reqSelect = "SELECT * FROM utilisateur";

$stmt = $db->prepare($reqSelect);
$stmt->execute();
$resultat = $stmt->fetchAll();

print_r($resultat);

PDO update
Le 26/03/2018
Auteur: Marc

Extrait:


// Par défaut PDO renvoie un tableau
$reqUpdate = "UPDATE utilisateur SET age =" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier


// Par défaut PDO renvoie un tableau
$reqUpdate = "UPDATE utilisateur SET age = :age WHERE Id = :id";

$stmt = $db->prepare($reqUpdate);
$stmt->execute(array(":age" => 20, ":id" => 1));

Travailler sur plusieurs tables mysql
Le 26/03/2018
Auteur: Marc

Extrait:

Ici on affiche le contenu de deux tables: "utilisateur" et "annonce"



// Par" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier

Ici on affiche le contenu de deux tables: "utilisateur" et "annonce"



// Par défaut PDO renvoie un tableau
$reqSelect = "SELECT * FROM utilisateur, annonce WHERE utilisateur.id = id_utilisateur";

$stmt = $db->prepare($reqSelect);
$stmt->execute();
$resultat = $stmt->fetchAll();

var_dump($resultat);

Exceptions
Le 26/03/2018
Auteur: Marc

Extrait:

Les exceptions sont les gestions des erreurs.

MA CLASSE FRACTION (exemple)
" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier

Les exceptions sont les gestions des erreurs.

MA CLASSE FRACTION (exemple)

// I create my own exception child class
class NullDiviserException extends Exception{} // Exception{} is a PHP object

class Fraction {
protected $numerateur;
protected $denominateur;

public function __construct($numerateur = 0, $denominateur = 0){
$this->numerateur = $numerateur;
$this->denominateur = $denominateur;

// using THROW
if($this->denominateur == 0){
throw new NullDiviserException("Division par zéro impossible mon petit ami!");
// Notez que Exception est un objet

}
}
public function __toString(){
return $this->numerateur."/".$this->denominateur;
}
}

MON CONTROLLER

try{
$fraction = new Fraction();
echo $fraction;
}
catch(NullDiviserException $exception) // NullDiviserException is my own child class of Exception{} of php
{
echo "La fraction n'a pas été initialisée.";
}
catch(Exception $exception) // You can create several exception
{
echo $exception->getMessage();
}

Namespace
Le 26/03/2018
Auteur: Marc

Extrait:

Un namespace c'est donner le chemin de la classe à votre code php pour éviter les interférences e" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier

Un namespace c'est donner le chemin de la classe à votre code php pour éviter les interférences entre deux classes qui ont le même nom.

new \ Basic(); // va à la racine du site pour les classes.
\ cherche l'ESPACE DE NOM GLOBAL;

Les namespaces sont utiles pour votre bibliothèque de classes que vous voulez utiliser dans un autre site.

Transformer un objet POO en chaîne de caractère
Le 25/03/2018
Auteur: Marc L. Harnist

Extrait:

Avertissement


La première fois que j'ai utilisé cette fonction, je n'avais pas co" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier

Avertissement


La première fois que j'ai utilisé cette fonction, je n'avais pas compris qu'il fallait l'inscrire dans la classe et l'appeller dans la vue ou le controller. Ou alors l'appeler dans une autre fonction de la classe. Peut-être...

Le code: avec __toString



class MaClasse{

private $texte;

public function __construct ($texte){
$this->texte = $texte;
}

public function __toString() // fonction qui explique à PHP comment doit se comporter
// l'objet si on l'affiche comme une variable
{
return $this->texte;
}
}
$obj = new MaClasse ('bonjour');
var_dump($obj);
echo "< br>";
echo $obj; // affiche l'objet $obj comme une string grâce à la fonction __toString() qui a
// défini au-desssus comme doit se comporter l'affichage.




Résultat




class MaClasse{

private $texte;

public function __construct ($texte){
$this->texte = $texte;
}

public function __toString() // fonction qui explique à PHP comment doit se comporter l'objet si on l'affiche comme une variable
{
return $this->texte;
}
}
$obj = new MaClasse ('bonjour');
var_dump($obj);
echo "
";
echo $obj; // affiche l'objet $obj comme une string grâce à la fonction __toString() qui a défini au-desssus comme doit se comporter l'affichage.

Transformer un object POO en array()
Le 25/03/2018
Auteur: Marc L. Harnist

Extrait:

si $object est un objet qui contient un array(),
alors $array = (array)$object; renvoie l'arr" (Pour ouvrir l'article dans une nouvelle fenêtre, cliquez sur le titre)

Texte entier

si $object est un objet qui contient un array(),
alors $array = (array)$object; renvoie l'array contenu dans l'objet vers un nouvel array appellé $array. $array n'est pas un objet mais un array simple.