Created
August 11, 2013 08:08
-
-
Save jimmylatreille/6203952 to your computer and use it in GitHub Desktop.
PHP REFERENCE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//========== inclure un fichier ===============// | |
include ($SERVER['DOCUMENTROOT']."/repertoire/fichier.php"); //pour référer un script PHP | |
include_once("repertoire/fichier.php"); //inclue qu'une seul fois le fichier | |
require("repertoire/fichier.php"); //cette fonction arrête le script si il n'est pas parvenue à le trouver | |
require_once("repertoire/fichier.php"); //inclue qu'une seul fois le fichier | |
/*la fonction include autorise les fichier distant | |
mais il faut mettre allow_url_fopen à on dans le fichier de config php.ini*/ | |
include("http://www.google.com"); | |
//include_path ****** peut être configuré dans le fichier php.ini ou de la façon suivante | |
$repertoire = ini_get("include_path").";nom_repertoire_pour_les_includes"; | |
ini_set("include_path", $repertoire); | |
include("config.php"); //alors le include va chercher dans le repertoire indiquer dans ini_set() | |
//=========== pour avoir tous les info sur php ect... ============// | |
phpinfo(); | |
echo // permet d'écrire dans le fichier html | |
print() //comme echo | |
print_r(); //pour afficher les valeur d'un tableau, tableau associatif | |
//les différents commentaires | |
# sur une seul ligne | |
// sur une seule ligne | |
/* sur plusieur ligne */ | |
echo '<!--commentaire html-->'; //inclut un commentaire dans le code source de html | |
//==== Opérateurs arithmetiques, de comparaison, logique et Booléen ======// | |
//Type opération Résultat | |
nombre + nombre addition nombre | |
chaine + chaine concaténation chaine | |
nombre + chaine concaténation chaine | |
//priorité des opérateur | |
+ et - unaire //plus haute priorité | |
% / * //deuxième plus haute priorité | |
+ et - binaires // priorité la plus basse | |
+ //addition binaire | |
- //soustraction binaire | |
+ // plus unaire exemple: ou 4 est unaire +4 – 3 | |
- // moins unaire exemple: ou 3 est unaire 2 * –3 | |
* // multiplication | |
/ // division réelle | |
\ // division entier retourne la division sans le restant | |
% // modulo reste de la division | |
//exemple 21%1 = 0; explication du calcul : (1 fois quoi qui donne 21 (1*21)= 21 ensuite 21-21 = 0) | |
//exemple 30%3 = 0; explication du calcul : (3 fois quoi qui donne 30 (3*10)= 30 ensuite 30-30 = 0) | |
//exemple 10%10 = 0; explication du calcul : (10 fois quoi qui donne 10 (10*1)= 10 ensuite 10-10 = 0) | |
//exemple 21%2 = 1; explication du calcul :(2 fois quoi qui donne 21 (2*10)= 20 ensuite 21-20 = 1) | |
++ //Incrémentation | |
-- // Décrémentation | |
= // opérateur d'affectation | |
== // égal | |
=== // strictement égal | |
!= // différent de | |
!== //strictement différent de | |
< // strictement plus petit | |
> // strictementplus grand | |
<= // plus petit ou égal | |
>= // plus grand ou égal | |
//========== Opérateur logique ====// | |
|| // //vrai si a ou b est vrai pas les deux | |
or // //vrai si a ou b est vrai | |
xor //vrai si a ou b est vrai pas les deux | |
&& //vrai si a et b sont vrai | |
and //vrai si a et b sont vrai | |
! // vrai si c'est faux | |
// table de vérité | |
la table de verité du -- ET -- logique indique que lexpression sera vrai si toute les conditions par -- ET -- sont vrai | |
la table de verité du -- OU -- logique indique que lexpression sera vrai si une des conditions -- OU -- sont vrai | |
la table de verité du -- PAS -- logique indique que lexpression sera VRAI si cest FAUX et FAUX si cest VRAI | |
//================== Booléen =============// | |
true | |
false | |
//============= les variables & constante php ===========// | |
//première façon d'écrire une variable | |
$var = 1; | |
echo $var; //affiche 1 | |
//deuxième façon d'écrire une variable | |
${'var'} = 1; | |
echo ${'var'}; //affiche 1 | |
//façon d'écrire une constante ils sont toujours écrit en majuscule | |
define("CONSTANTE_PHP", "valeur"); | |
echo CONSTANTE_PHP; //affichera valeur | |
//liste de tous les constante définie par default par php | |
print_r(get_defined_constants()); | |
//Déclération d'une variable global et static | |
global $x = 4; | |
static $y = 3; | |
//Change la variable globale | |
$GLOBALS["x"]= 30; | |
echo $GLOBALS["x"]; // $x = 30 | |
//référencer une varibale | |
$nb1 = 2; | |
$nb2 = &nb1; //$nb1 et $nb2 vaut 2 & est le symbol de référence | |
$nb1 = 3; //$nb1 vaut maintenant 3 et $nb2 aussi puisqu'elle ne fait que référence à $nb1 | |
//================= caractère d'échapement ================// | |
/* | |
\n retour a la ligne | |
\' protège la guillement simple | |
\" protège la guillement double | |
\t tabulation | |
\$ carctère utilisés en php | |
*/ | |
//============== Les structure conditionnel ================// | |
//condition qui valide le type d'une variable | |
is_array($variable) ? 'Tableau' : 'ce n\'est pas un tableau'; | |
is_int($variable), is_string($variable), is_float($variable), is_object($variable) | |
//============= if else ==================// | |
if (condition1) { // peut contenir des opérateur logique et conditionel ||, &&, ==, !=, <, >, <=, >= | |
opération | |
} else { | |
if (condition2 ) { // peut contenir des opérateur logique et conditionel ||, &&, ==, !=, <, >, <=, >= | |
opération | |
} else { | |
if (condition3) { // peut contenir des opérateur logique et conditionel ||, &&, ==, !=, <, >, <=, >= | |
opérations | |
} else { | |
if (condition4) { | |
opération | |
} else { | |
opération finale | |
} //fermeture du 4ème else | |
} //fermeture du 3ème else | |
} //fermeture du 2ème else | |
} //fermeture du 1er else | |
// ================== elseif ======================// | |
if(condition 1 == condition2){ | |
//opérations1 | |
}elseif(condition2 == condition3){ | |
//opérations2 | |
}else{ | |
//sinon autres opérations | |
} | |
//================= switch case =======================// | |
//valeur pour le paramêtre du switch | |
$valeur = 5; | |
switch ($valeur) { | |
case 1 : | |
echo "Un"; | |
break; | |
case 2 : | |
echo "Deux"; | |
break; | |
case 5 : | |
echo "Cinq"; | |
break; | |
default: | |
echo "meaage si valeur pas bon"; | |
} | |
//================ boucles do while ====================// | |
//do while syntaxe quand ont veut faire un tour de boucle au debut | |
$nb1 = 0; //déclaration des variables | |
$i = 1; // initialisation du compteur | |
do { //faire | |
$nb1 = $nb1 + 2; | |
//equivalent a nb1 .= 2; | |
$i++ // post incrémentation | |
}while ($i < 3); // tant que i ne sera pas strictement egale a 3 la boucle continuera de tourner | |
//===================== boucle while =======================// | |
//syntaxe quand ont veut vérifier la condition avant d'entrer dans la boucle | |
$nb1 = 0; //déclaration des variables | |
$i = 1; // initialisation du compteur | |
while ($i < 3) { //tant que i ne sera pas strictement egale a 3 la boucle continuera de tourner | |
$nb1 = $nb1 + 2; | |
//equivalent a nb1 .= 2; | |
$i++ // post incrémentation | |
} | |
//==================== boucle for ==========================// | |
//syntaxe la boucle la plus utilisé (utile pour parcourir les tableaux ou les chaînes de caractères) | |
$nb1 = 0; //déclaration des variables | |
//ou $i = $i + 2 ou $i-- | |
for (var $i = 0; $i < 3; $i++ ) { //tant que i ne sera pas strictement egale a 3 la boucle continuera de tourner | |
// si on veut faire un pas de au compteur on marque i += 2 au lieu de i++ | |
$nb1 = $nb1 + 2; | |
//equivalent a nb1 .= 2; | |
} | |
//==================== Les tableaux scalaires en php ======================// | |
//pour tous les tableau | |
$tab1 + $tab2; //adition de deux tableaux | |
$tab1 == $tab2; //true si à $tab1 et $tab2 sont egaux | |
$tab1 === $tab2 //valeur identique dans chacune des indices | |
$tab1 != $tab2; //true si à $tab1 et $tab2 ne sont pas egaux ou <> | |
$tab1 !== $tab2; ///valeur pas dentique dans chacune des indices | |
//création d'un nouveau tableau | |
$tableau = array(); | |
//insertion des données dans le tableau scalaire | |
$tableau = array(1, 2, 3); | |
//insertion des valeur dans au dernier index | |
$tableau[] = 4; | |
// recupération d'une valeur | |
$tableau[2]; //egal à 3 | |
//insertion d'une valeur à l'indice choisis | |
$tableau[2] = 6; | |
$tableau[2] //maintenat égale à 6 | |
//desafecter une cellule d'un tableau | |
unset($tab[1]); | |
$date = "2008/12/04"; | |
list($var1, $var2, $var3) = explode("/", $date); | |
echo $var1; // egale à 2008 | |
//ajout d'élément dans le tableau | |
$tab = array("a", "b", "c"); | |
$total = array_push($tab, 1, 2, 3); | |
echo implode(" ",$total); //ou join() | |
//longeur du tableau | |
sizeof($tableau); | |
count($tableau); //mieux que sizeof() | |
//parcourrir un tableau scalaire avec une boucle for | |
for($i = 0; $i < count($tableau); $i++){ | |
echo $tableau[$i].'</br>'; | |
} | |
//parcourrir un tableau scalaire avec une boucle foreach | |
foreach ($tableau as $val ) { | |
echo $val.'<br />'; | |
} | |
//fusion de deux tableau | |
$tab1 = array("a", "b", "c"); | |
$tab2 = array(1,2,3); | |
$tab3 = array_merge($tab1, $tab2 ); //tableau fusioner | |
echo join($tab3); | |
//facon de faire un tableau associatif avec explode et une chaine de caractère | |
$chaine = "pièce1;pièce2;pièce3;pièce4;pièce5;pièce6"; | |
$tableau = explode(";", $chaine); | |
echo $tableau[0].'</br>'; // pièce1 | |
echo $tableau[1].'</br>'; // pièce2 | |
//implode() et join() font le contraire. | |
array_unshift($tab) //ajoute des éléments au début du tableau. | |
array_shift($tab) //enlève et retourne le premier élément. | |
array_slice($tab) //retourne une partie du tableau commençant à une position donnée. | |
sort($tab) //tri d’un tableau normal | |
asort($tab) //tri d’un tableau associatif permet de garder l'association clé/valeurau contraire de sort(). | |
ksort($tab) //le tri s'effectue sur les clé tous en maintenant l'association des valeurs | |
nasort($tab) //permet de trier naturelement fichier1.jpg, fichier2.jpg, fichier100.jpg | |
//pour un tri inverse en sens decroissant | |
arsort(); | |
krsort(); | |
rsort(); | |
echo reset($tab); //place le pointeur au debut du tableau et retourne la valeur du premier élément | |
echo next($tab); //déplace le pointeur sur l'élément suivant et retourne sa valeur | |
echo prev($tab); //déplace le pointeur sur l'élément précédent et retourne ca valeur | |
echo key($tab); // retourne la clé de l'élément courant | |
echo each($tab); // retourne un tableau contenant la paire clé/valeur de l'élément courant | |
echo current($tab); //retourne la valeur de l'élément courant | |
echo end($tab); //place le pointeur sur le dernier élément de la liste et retourne sa valeur | |
//structure conditionnel pour les tableaux scalaire | |
$tab = array(1, 2); | |
if(in_array(2, $tab)){ | |
//opération1 | |
}else{ | |
//opération2 | |
} | |
//==================== Les tableaux associatifs en php ======================// | |
//création d'un nouveau tableau associatif | |
$tableau = array("cle1" => "valeur1", "cle2" => "valeur2", "cle3" => "valeur3"); | |
echo $tableau["cle2"]; // egale à valeur2 | |
// assigne une nouvelle valeur à la clé2 si la clé n'existe pas elle est automatiquement créé | |
$tableau["cle2"] = 'nouvelle valeur'; | |
echo $tableau["cle2"]; // // egale à nouvelle valeur | |
//tableau associatif multidimentionnelle | |
$tableau array( | |
0 => array("cle1" => "valeur1", "cle2" => "valeur2", "cle3" => "valeur3"), | |
1 => array("cle4" => "valeur4", "cle5" => "valeur5", "cle6" => "valeur6"), | |
2 => array("cle7" => "valeur7", "cle8" => "valeur8", "cle9" => "valeur9") | |
); | |
//parcourrir tableau associatif multidimentionnelle | |
$tableau[2]["cle8"]; // egale a valeur8 | |
//parcourrir un tableau associatif avec la boucle foreach | |
foreach ($tableau as $key => $val ) { | |
echo $key = $val."<br/>"; | |
} | |
//structure conditionnel pour les tableaux associatif | |
$tab = array("premier" => 1, "deuxième" => 2); | |
if(array_key_exists("premier", $tab)){ //ou isset($tab["premier"]) | |
//opération1 | |
}else{ | |
//opération2 | |
} | |
//=========== serialisation & désérialisation des tableau scalaire et associatif ========// | |
//transforme en binaire | |
serialize($tab); //serialisation | |
unserialize($tab); //désérialisation | |
//========= pour verifier ou changer le contenu d'une variable ===========// | |
empty() // pour voir si un champ est vide | |
isset() //Savoir si la variable est affectée | |
unset() // Désaffecter une variable | |
settype($var, "integer"); //typer une variable boolean, integer, float, string, array, object, NULL | |
gettype($var) //récupérer le type d'une variable | |
//============= sécurité pour les injection dans les inputs =====================// | |
htmlspecialchars($variable) pour empêché l'utilisateur d'entrer du code html dans les input | |
mysql_real_escape_string($_Post['nom']); | |
mysqli_real_escape_string($connexion, $_Post['nom']); //futurement avec mysqli | |
//=================== chaine de caractère php ==================// | |
$String1 = substr("The cat sat on the mat",4,3); // ’cat’ | |
$String2 = substr("The frog sat on the log",0,1); // ’T’ | |
$String3 = substr("The aardvark sat in the dark", 17); // ’in the dark’ | |
$String4 = strpos("The cat sat on the mat", "cat");// --> ’4’ indice du premier carctère trouvé | |
$String5 = strlen("the cat sat on the mat"); // ’22’ longeur de la chaine | |
/*strcmp($str1, $str2) : retourne | |
Une valeur négative si $str1 est inférieure à $str2. | |
Une valeur positive si $str1 est supérieure à $str2. | |
0 si elles sont égales.*/ | |
//====================== date et heure =====================// | |
time(); //seconde écoulé depuis le 1er janvier 1970 pour PHP | |
date() //date mais propose un certaine syntaxe et propose des constante | |
strtotime("2008/01/02"); //trasforme une chaine en timestamp | |
strtotime("+ 7 days"); //timestamps dans 7 jours | |
strtotime("+ 1 week"); //timestamps dans 1 semaine | |
strtotime("+ 6 days 24 hours"); //timestamps dans 6 jours et 24 heures | |
mktime() //paramêtre 1 heure, 2 minute, 3 seconde, 4 mois, 5 jour, 6 année | |
UNIX_TIMESTAMP() // pour MYSQL & PHP | |
//==================== fonction ==========================// | |
function nomDeLaFonction($valeur) { //paramètre formel | |
var $nb = $valeur; | |
return $nb; //retourne une valeur | |
} | |
nomDeLaFonction(5); //paramètre effectif // Appel de fonction | |
//possibilité de mettre une valeur par default aux paramêtre de la fonction | |
function nomDeLaFonction($valeur = "valeurs par default") { //paramètre formel | |
var $nb = $valeur; | |
return $nb; | |
} | |
nomDeLaFonction(); //Appel de fonction retourne la valeur par default dans le cas ici | |
//function avec une forme spécial | |
function trouver_profil() { | |
$user = array(); | |
$user[] = "Jason"; | |
$user[] = "jason@example.com"; | |
$user[] = "English"; | |
return $user; | |
} | |
//affecte aux variable les info de chaques indices | |
list($nom, $email, $langage) = trouver_profil(); | |
echo $email."".$langage."".$nom.'</br>'; | |
//========== orienté objet exemple php ==============*/ | |
public function mysqlConnect($host, $user, $password, $database) { | |
$this->mysql = mysql_connect($host, $user, $password); | |
if (!$this->mysql) die(mysql_error()); | |
mysql_select_db($database, $this->mysql); | |
} | |
/* formulules Mathématiques utiles: | |
abs : Valeur absolue | |
sin, cos, acos, tan … | |
ceil, floor, round : Arrondis | |
log, log10, exp : Logarithme & Exponentielle | |
max, min : renvoie le min ou le max d'un tableau | |
pi : Retourne la valeur de pi | |
sqrt, pow : Racine carrée, puissance. | |
srand, rand : génération d'un nombre aléatoire*/ | |
//forcer le typage de variable | |
//(int) (string) (array) (bool) (float) (real) (object) | |
$integer = (int) 30; | |
//variable serveur | |
$_SERVER['PHP_SELF'].'<br />'; | |
$_SERVER['GATEWAY_INTERFACE'].'<br />'; | |
$_SERVER['SERVER_NAME'].'<br />'; | |
$_SERVER['HTTP_HOST'].'<br />'; | |
$_SERVER['SERVER_NAME'].'<br />'; | |
$_SERVER['HTTP_REFERER'].'<br />'; | |
$_SERVER['HTTP_USER_AGENT'].'<br />'; | |
$_SERVER['HTTP_ACCEPT'].'<br />'; | |
$_SERVER['HTTP_ACCEPT_LANGUAGE'].'<br />'; | |
$_SERVER['HTTP_COOKIE'].'<br />'; | |
$_SERVER['HTTP_CONNECTION'].'<br />'; | |
$_SERVER['HTTP_CACHE_CONTROL'].'<br />'; | |
$_SERVER['SystemRoot'].'<br />'; | |
$_SERVER['COMSPEC'].'<br />'; | |
$_SERVER['SERVER_SIGNATURE'].'<br />'; | |
$_SERVER['SERVER_SOFTWARE'].'<br />'; | |
$_SERVER['SERVER_ADDR'].'<br />'; | |
$_SERVER['DOCUMENT_ROOT'].'<br />'; | |
$_SERVER['REQUEST_SCHEME'].'<br />'; | |
$_SERVER['SCRIPT_FILENAME'].'<br />'; | |
$_SERVER['REMOTE_PORT'].'<br />'; | |
$_SERVER['SERVER_PROTOCOL'].'<br />'; | |
$_SERVER['REMOTE_ADDR'].'<br />'; | |
$_SERVER['REQUEST_URI'].'<br />'; | |
$_SERVER['SCRIPT_NAME'].'<br />'; | |
//pour conna^tre le système d'exploitation | |
PHP_OS; | |
//pour connaître la version de PHP | |
PHP_VERSION; | |
//file_exist('file.txt'); | |
// is_file('file.txt'); | |
// is_dir("/folder"); | |
// is_readable(); | |
// is_writable(); | |
// is_executable(); | |
// filesize('file.txt'); | |
//pour créer des fichier | |
touch("test.php"); | |
//pour détruire un fichier | |
unlink("test.php"); | |
//=========== vérouiller un fichier =========// | |
$fp = fopen("test.php", "a") or die("ERREUR ..."); | |
//verrou exclusif le fichier ou LOCK_SH pour permettre le mode lecture seulement | |
flock($fp, LOCK_EX); | |
//écrire ici dans le fichier | |
flock($fp, LOCK_UN); // libère les vérou | |
//fermela connexion | |
fclose($fp); | |
//=========== Fin =========// | |
//=========== mysql method ============// | |
// connection au serveur | |
//msql_connect(SERVER, LOGIN, PSW); | |
//slectionner la base de donner | |
//msql_select_db(DB); | |
//pour effectuer une requete | |
//$resultat = msql_query($sql, $connexion); | |
//pour connaitre le nombre de collone ou de ranger | |
//mysql_num_fields($resultat); | |
//mysql_num_rows($resultat); | |
//pour faire le fetch dans un while | |
//mysql_fetch_assoc($resultat); | |
//mysql_close($connexion); | |
//=========== fin mysql method ============// | |
//pour enlever les entiter html | |
$variable = "Jimmy"; | |
$nettoyer = htmlspecialchars($variable); | |
//chiffre aléatoire de 1 a 100 | |
rand(1, 100); | |
//reference function | |
function reference(&$ref){ | |
$ref += 5; | |
} | |
$nb1 = (int) 5; | |
reference($nb1); | |
echo $nb1; | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment