PHP

De Memo
Aller à : navigation, rechercher


Creation table

try
{
$bdd = new PDO('mysql:host=localhost;dbname=phpgame;charset=utf8', 'root', );
echo 'connexion ok';

$bdd->query("
 CREATE TABLE IF NOT EXISTS `personnages` (
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `nom` varchar(50) COLLATE utf8_general_ci NOT NULL,
  `degats` tinyint(3) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `nom` (`nom`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
");

}
catch (Exception $e)
{
       die('Erreur : ' . $e->getMessage());
}


<?php
// On envoie une « FORCE_MOYENNE » en guise de force initiale.
$perso = new Personnage(Personnage::FORCE_MOYENNE);


pdo

<?php
// On admet que $db est un objet PDO
$request = $db->query('SELECT id, nom, forcePerso, degats, niveau, experience FROM personnages');
   
while ($perso = $request->fetch(PDO::FETCH_ASSOC)) // Chaque entrée sera récupérée et placée dans un array.
{
 echo $perso['nom'], ' a ', $perso['forcePerso'], ' de force, ', $perso['degats'], ' de dégâts, ', $perso['experience'], ' d\'expérience et est au niveau ', $perso['niveau'];
}
<?php
// On admet que $db est un objet PDO.
$request = $db->query('SELECT id, nom, forcePerso, degats, niveau, experience FROM personnages');
    
while ($donnees = $request->fetch(PDO::FETCH_ASSOC)) // Chaque entrée sera récupérée et placée dans un array.
{
 // On passe les données (stockées dans un tableau) concernant le personnage au constructeur de la classe.
 // On admet que le constructeur de la classe appelle chaque setter pour assigner les valeurs qu'on lui a données aux attributs correspondants.
 $perso = new Personnage($donnees);
       
 echo $perso->nom(), ' a ', $perso->forcePerso(), ' de force, ', $perso->degats(), ' de dégâts, ', $perso->experience(), ' d\'expérience et est au niveau ', $perso->niveau();
}


hydrate()

Methode appellée dynamiquement

 public function hydrate(array $donnees)
 {
   foreach ($donnees as $key => $value)
   {
     // On récupère le nom du setter correspondant à l'attribut.
     $method = 'set'.ucfirst($key);
         
     // Si le setter correspondant existe.
     if (method_exists($this, $method))
     {
       // On appelle le setter.
       $this->$method($value);
     }
   }
 }


Connexion bdd

<?php
try
{
 $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', );
}
catch (Exception $e)
{
       die('Erreur : ' . $e->getMessage());
}
?>


Constant

<?php
class Personnage
{
 private $_force;
 private $_localisation;

 const FORCE_PETITE = 20;
 const FORCE_MOYENNE = 50;
 const FORCE_GRANDE = 80;

 public function __construct()
 {

 }

...
}


Static

 private static $_texteADire = 'Je vais tous vous tuer !';
 public static function parler()
 {
   echo self::$_texteADire; // On donne le texte à dire.
 }


form

<!DOCTYPE html>
<html>
   <head>
       <meta charset="utf-8" />
       <title>Simple form</title>
   </head>
   <body>
       <p>Type your name</p>
       <form action="target.php" method="post">
           <p>
               <input type="text" name="nom" />
               <input type="submit" value="Valider" />
           </p>
       </form>
   </body>
</html>
<?php
   if (isset($_POST["nom"]) && !empty($_POST["nom"]))
   {
    echo "Votre nom est <b>".$_POST["nom"]."</b><br/>";
   }   
   else 
   {
    echo "<i>Vous n'avez pas saisi de nom</i><br/>";
   }   
?>