Skip to content

Instantly share code, notes, and snippets.

@jimmylatreille
Created August 11, 2013 08:08
Show Gist options
  • Save jimmylatreille/6203952 to your computer and use it in GitHub Desktop.
Save jimmylatreille/6203952 to your computer and use it in GitHub Desktop.
PHP REFERENCE
<?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