PHP est un acronyme récursif pour "PHP: Hypertext Preprocessor". PHP est un langage de script côté serveur intégré au HTML. Il est utilisé pour gérer le contenu dynamique, les bases de données, le suivi des sessions, voire créer des sites e-commerce entiers.

Utilisations courantes de PHP -

  • PHP exécute des fonctions système, c'est-à-dire à partir de fichiers sur un système, il peut les créer, les ouvrir, les lire, les écrire et les fermer.

  • PHP peut gérer des formulaires, c'est-à-dire recueillir des données à partir de fichiers, enregistrer des données dans un fichier, par courrier électronique, vous pouvez envoyer des données, renvoyer des données à l'utilisateur.

  • Vous ajoutez, supprimez, modifiez des éléments dans votre base de données via PHP.

  • Accédez aux variables des cookies et définissez des cookies.

  • En utilisant PHP, vous pouvez restreindre l'accès des utilisateurs à certaines pages de votre site Web.

  • Il peut crypter les données.

Tout le code PHP doit être inclus dans l'une des trois balises de balisage spéciales qui sont reconnues par l'analyseur PHP.

<?php PHP code goes here ?>
<?    PHP code goes here ?>
<script language="php"> PHP code goes here </script>
Most common tag is the <?php...?>

Le fichier de configuration PHP, php.ini, est le moyen final et le plus immédiat d'affecter les fonctionnalités de PHP. Le fichier php.ini est lu à chaque fois que PHP est initialisé, c'est-à-dire à chaque fois que httpd est redémarré pour la version du module ou à chaque exécution de script pour la version CGI. Si votre modification n'apparaît pas, n'oubliez pas d'arrêter et de redémarrer httpd. S'il n'apparaît toujours pas, utilisez phpinfo () pour vérifier le chemin vers php.ini.

Le moteur d'analyse PHP a besoin d'un moyen de différencier le code PHP des autres éléments de la page. Le mécanisme pour le faire est appelé «échapper à PHP».

Les espaces sont les éléments que vous tapez qui sont généralement invisibles à l'écran, y compris les espaces, les tabulations et les retours chariot (caractères de fin de ligne). PHP insensible aux espaces signifie que le nombre de caractères d'espaces que vous avez dans une ligne n'a presque jamais d'importance. Un caractère d'espacement est identique à beaucoup de ces caractères.

Non, PHP est partiellement sensible à la casse.

Voici les choses les plus importantes à savoir sur les variables en PHP.

  • Toutes les variables en PHP sont indiquées par un signe dollar ($).

  • La valeur d'une variable est la valeur de son affectation la plus récente.

  • Les variables sont affectées avec l'opérateur =, avec la variable à gauche et l'expression à évaluer à droite.

  • Les variables peuvent, mais n'ont pas besoin, être déclarées avant l'affectation.

  • Les variables en PHP n'ont pas de types intrinsèques - une variable ne sait pas à l'avance si elle sera utilisée pour stocker un nombre ou une chaîne de caractères.

  • Les variables utilisées avant leur affectation ont des valeurs par défaut.

  • PHP fait un bon travail de conversion automatique des types de l'un à l'autre lorsque cela est nécessaire.

  • Les variables PHP sont similaires à Perl.

PHP a un total de huit types de données que nous utilisons pour construire nos variables -

  • Integers - sont des nombres entiers, sans point décimal, comme 4195.

  • Doubles - sont des nombres à virgule flottante, comme 3.14159 ou 49.1.

  • Booleans - n'ont que deux valeurs possibles, soit vrai ou faux.

  • NULL - est un type spécial qui n'a qu'une seule valeur: NULL.

  • Strings - sont des séquences de caractères, comme «PHP prend en charge les opérations sur les chaînes».

  • Arrays - sont des collections nommées et indexées d'autres valeurs.

  • Objects - sont des instances de classes définies par le programmeur, qui peuvent regrouper à la fois d'autres types de valeurs et de fonctions spécifiques à la classe.

  • Resources - sont des variables spéciales qui contiennent des références à des ressources externes à PHP (telles que les connexions à la base de données).

Les règles de dénomination d'une variable sont les suivantes -

  • Les noms de variable doivent commencer par une lettre ou un caractère de soulignement.

  • Un nom de variable peut être composé de chiffres, de lettres, de traits de soulignement mais vous ne pouvez pas utiliser de caractères tels que +, -,%, (,). & , etc

Voici les règles pour déterminer la "vérité" de toute valeur qui n'est pas encore de type booléen -

  • Si la valeur est un nombre, elle est fausse si exactement égale à zéro et vraie sinon.

  • Si la valeur est une chaîne, elle est fausse si la chaîne est vide (n'a aucun caractère) ou est la chaîne "0", et est vraie dans le cas contraire.

  • Les valeurs de type NULL sont toujours fausses.

  • Si la valeur est un tableau, elle est fausse si elle ne contient aucune autre valeur, et elle est vraie dans le cas contraire. Pour un objet, contenir une valeur signifie avoir une variable membre à laquelle une valeur a été attribuée.

  • Les ressources valides sont vraies (bien que certaines fonctions qui renvoient des ressources lorsqu'elles réussissent renvoient FALSE en cas d'échec).

  • N'utilisez pas le double comme booléen.

NULL est un type spécial qui n'a qu'une seule valeur: NULL. Pour donner à une variable la valeur NULL, affectez-la simplement comme ceci -

$my_var = NULL;

La constante spéciale NULL est mise en majuscule par convention, mais elle est en fait insensible à la casse; vous pourriez tout aussi bien avoir tapé -

$my_var = null;

Une variable qui a été affectée NULL a les propriétés suivantes:

Il évalue FALSE dans un contexte booléen.

Il renvoie FALSE lorsqu'il est testé avec la fonction IsSet ().

Pour définir une constante, vous devez utiliser la fonction define () et pour récupérer la valeur d'une constante, vous devez simplement spécifier son nom. Contrairement aux variables, vous n'avez pas besoin d'avoir une constante avec un $.

Comme indiqué par le nom, cette fonction retournera la valeur de la constante. Ceci est utile lorsque vous souhaitez récupérer la valeur d'une constante, mais que vous ne connaissez pas son nom, c'est-à-dire qu'elle est stockée dans une variable ou renvoyée par une fonction.

<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>

Seules les données scalaires (booléenne, entière, flottante et chaîne) peuvent être contenues dans des constantes.

  • Il n'est pas nécessaire d'écrire un signe dollar ($) avant une constante, alors que, comme dans Variable, il faut écrire un signe dollar.

  • Les constantes ne peuvent pas être définies par une simple affectation, elles ne peuvent être définies qu'à l'aide de la fonction define ().

  • Les constantes peuvent être définies et accessibles n'importe où sans tenir compte des règles de portée des variables.

  • Une fois que les constantes ont été définies, elles ne peuvent pas être redéfinies ou indéfinies.

PHP fournit un grand nombre de constantes prédéfinies à tout script qu'il exécute, connu sous le nom de constantes magiques.

_LINE_ - Le numéro de ligne actuel du fichier.

_FILE_ - Le chemin complet et le nom de fichier du fichier. S'il est utilisé dans un include, le nom du fichier inclus est renvoyé. Depuis PHP 4.0.2, _FILE_ contient toujours un chemin absolu alors que dans les anciennes versions, il contenait un chemin relatif dans certaines circonstances.

_FUNCTION_ - Le nom de la fonction. (Ajouté en PHP 4.3.0) Depuis PHP 5, cette constante renvoie le nom de la fonction tel qu'il a été déclaré (sensible à la casse). En PHP 4, sa valeur est toujours en minuscule.

_CLASS_ - Le nom de la classe. (Ajouté en PHP 4.3.0) Depuis PHP 5, cette constante renvoie le nom de la classe tel qu'il a été déclaré (sensible à la casse). En PHP 4, sa valeur est toujours en minuscule.

_METHOD_ - Le nom de la méthode de classe. (Ajouté en PHP 5.0.0) Le nom de la méthode est renvoyé tel qu'il a été déclaré (sensible à la casse).

break termine la boucle for ou l'instruction switch et transfère l'exécution à l'instruction immédiatement après la boucle for ou le switch.

continue oblige la boucle à sauter le reste de son corps et à retester immédiatement son état avant de réitérer.

L'instruction foreach est utilisée pour parcourir les tableaux. Pour chaque passage, la valeur de l'élément de tableau actuel est assignée à $ value et le pointeur de tableau est déplacé de un et dans la passe suivante, l'élément suivant sera traité.

foreach (array as value)
{
    code to be executed;
}

Tableau numérique - Un tableau avec un index numérique. Les valeurs sont stockées et accessibles de manière linéaire.

Tableau associatif - Un tableau avec des chaînes comme index. Cela stocke les valeurs d'élément en association avec des valeurs de clé plutôt que dans un ordre d'index linéaire strict.

Tableau multidimensionnel - Un tableau contenant un ou plusieurs tableaux et les valeurs sont accessibles à l'aide de plusieurs index.

Pour concaténer deux variables de chaîne ensemble, utilisez l'opérateur point (.) -

<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>

Cela produira le résultat suivant -

Hello World 1234

La fonction strlen () est utilisée pour trouver la longueur d'une chaîne. Trouvons la longueur de notre chaîne "Hello world!" -

<?php
echo strlen("Hello world!");
?>

Cela produira le résultat suivant -

12

La fonction strpos () est utilisée pour rechercher une chaîne ou un caractère dans une chaîne. Si une correspondance est trouvée dans la chaîne, cette fonction renverra la position de la première correspondance. Si aucune correspondance n'est trouvée, elle retournera FALSE. Voyons si nous pouvons trouver la chaîne "world" dans notre chaîne -

<?php
echo strpos("Hello world!","world");
?>

Cela produira le résultat suivant -

6

PHP fournit une fonction getenv () pour accéder à la valeur de toutes les variables d'environnement.

Une des variables d'environnement définies par PHP est HTTP_USER_AGENT qui identifie le navigateur et le système d'exploitation de l'utilisateur.

La fonction PHP rand () est utilisée pour générer un nombre aléatoire. Cette fonction peut générer des nombres dans une plage donnée. Le générateur de nombres aléatoires doit être amorcé pour empêcher la génération d'un modèle régulier de nombres. Ceci est réalisé en utilisant la fonction srand () qui spécifie le numéro de départ comme argument.

La variable PHP par défaut $ _PHP_SELF est utilisée pour le nom du script PHP et lorsque vous cliquez sur le bouton «Soumettre», le même script PHP sera appelé.

La fonction PHP header () fournit des en-têtes HTTP bruts au navigateur et peut être utilisée pour le rediriger vers un autre emplacement. Le script de redirection doit être tout en haut de la page pour empêcher le chargement de toute autre partie de la page. La cible est spécifiée par l'en-tête Location: comme argument de la fonction header (). Après avoir appelé cette fonction, la fonction exit () peut être utilisée pour arrêter l'analyse du reste du code.

L'en-tête HTTP sera différent de l'en-tête réel où nous envoyons Content-Type sous forme de texte / html \ n \ n. Dans ce cas, le type de contenu sera application / octet-stream et le nom de fichier réel sera concaténé avec lui. Par exemple, si vous souhaitez rendre un fichier FileName téléchargeable à partir d'un lien donné, sa syntaxe sera la suivante.

#!/usr/bin/perl
# HTTP Header
print "Content-Type:application/octet-stream; name=\"FileName\"\r\n";
print "Content-Disposition: attachment; filename=\"FileName\"\r\n\n";
# Actual File Content
open( FILE, "<FileName" );
while(read(FILE, $buffer, 100) )
{
   print("$buffer");
}

Le PHP fournit le tableau associatif $ _GET pour accéder à toutes les informations envoyées en utilisant la méthode GET.

Le PHP fournit le tableau associatif $ _POST pour accéder à toutes les informations envoyées en utilisant la méthode POST.

La variable PHP $ _REQUEST contient le contenu de $ _GET, $ _POST et $ _COOKIE. Nous discuterons de la variable $ _COOKIE lorsque nous expliquerons les cookies. La variable PHP $ _REQUEST peut être utilisée pour obtenir le résultat des données de formulaire envoyées avec les méthodes GET et POST.

array () - Crée un tableau.

sort () - Trie un tableau.

Les chaînes entre guillemets simples sont traitées presque littéralement, tandis que les chaînes entre guillemets doubles remplacent les variables par leurs valeurs et interprètent spécialement certaines séquences de caractères.

<?php
$variable = "name";
$literally = 'My $variable will not print!\\n';
print($literally);
print "<br />";
$literally = "My $variable will print!\\n";
print($literally);
?>

Cela produira le résultat suivant -

My $variable will not print!\n
My name will print

Pour concaténer deux variables de chaîne ensemble, utilisez l'opérateur point (.).

<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>

Cela produira le résultat suivant -

Hello World 1234

La variable PHP $ _REQUEST contient le contenu de $ _GET, $ _POST et $ _COOKIE. Nous discuterons de la variable $ _COOKIE lorsque nous expliquerons les cookies. La variable PHP $ _REQUEST peut être utilisée pour obtenir le résultat des données de formulaire envoyées avec les méthodes GET et POST.

Il existe deux fonctions PHP qui peuvent être utilisées pour inclure un fichier PHP dans un autre fichier PHP.

  • La fonction include ()

  • La fonction require ()

S'il y a un problème lors du chargement d'un fichier, la fonction require () génère une erreur fatale et arrête l'exécution du script tandis que la fonction include () génère un avertissement mais le script continuera l'exécution.

La fonction PHP fopen () est utilisée pour ouvrir un fichier. Il nécessite deux arguments indiquant d'abord le nom du fichier et ensuite le mode dans lequel fonctionner. Le mode "r" ouvre le fichier en lecture seule et place le pointeur de fichier au début du fichier.

Une fois qu'un fichier est ouvert en utilisant la fonction fopen (), il peut être lu avec une fonction appelée fread (). Cette fonction nécessite deux arguments. Il doit s'agir du pointeur de fichier et de la longueur du fichier exprimée en octets.

La longueur des fichiers peut être trouvée en utilisant la fonction filesize () qui prend le nom du fichier comme argument et renvoie la taille du fichier exprimée en octets.

L'existence du fichier peut être confirmée en utilisant la fonction file_exist () qui prend le nom du fichier comme argument.

Oui! Vous pouvez définir un paramètre pour qu'il ait une valeur par défaut si l'appelant de la fonction ne la transmet pas.

PHP a fourni la fonction setcookie () pour définir un cookie. Cette fonction nécessite jusqu'à six arguments et doit être appelée avant la balise <html>. Pour chaque cookie, cette fonction doit être appelée séparément.

setcookie(name, value, expire, path, domain, security);

PHP propose de nombreuses façons d'accéder aux cookies. La manière la plus simple est d'utiliser les variables $ _COOKIE ou $ HTTP_COOKIE_VARS.

Vous pouvez utiliser la fonction isset () pour vérifier si un cookie est défini ou non.

Pour supprimer un cookie, vous devez appeler setcookie () avec l'argument nom uniquement.

Une session PHP est facilement démarrée en appelant la fonction session_start (). Cette fonction vérifie d'abord si une session est déjà lancée et si aucune n'est démarrée, elle en démarre une. Il est recommandé de mettre l'appel à session_start () au début de la page.

Les variables de session sont stockées dans un tableau associatif appelé $ _SESSION []. Ces variables sont accessibles pendant la durée de vie d'une session.

Utilisez la fonction isset () pour vérifier si la variable de session est déjà définie ou non.

Voici l'exemple pour annuler la définition d'une seule variable -

<?php
   unset($_SESSION['counter']);
?>

Une session PHP peut être détruite par la fonction session_destroy ().

PHP utilise la fonction mail () pour envoyer un email. Cette fonction nécessite trois arguments obligatoires qui spécifient l'adresse e-mail du destinataire, l'objet du message et le message réel. En outre, il existe deux autres paramètres facultatifs.

mail( to, subject, message, headers, parameters );

Il s'agit d'une variable PHP globale. Cette variable est un tableau associé à double dimension et conserve toutes les informations relatives au fichier téléchargé.

En utilisant $ _FILES ['file'] ['tmp_name'] - il donne accès au fichier téléchargé dans le répertoire temporaire sur le serveur Web.

En utilisant $ _FILES ['file'] ['name'] - il fournit le nom réel du fichier téléchargé.

En utilisant $ _FILES ['file'] ['size'] - il fournit la taille en octets du fichier téléchargé.

En utilisant $ _FILES ['file'] ['type'] - il fournit le type MIME du fichier téléchargé.

Utilisation de $ _FILES ['file'] ['error'] - il fournit le code d'erreur associé à ce téléchargement de fichier.

$ GLOBALS - Contient une référence à chaque variable actuellement disponible dans la portée globale du script. Les clés de ce tableau sont les noms des variables globales.

$ _SERVER - Il s'agit d'un tableau contenant des informations telles que les en-têtes, les chemins et les emplacements de script. Les entrées de ce tableau sont créées par le serveur Web. Il n'y a aucune garantie que chaque serveur Web fournira l'un de ces éléments. Voir la section suivante pour une liste complète de toutes les variables SERVER.

$ _COOKIE - Un tableau associatif de variables passées au script actuel via des cookies HTTP.

$ _SESSION - Un tableau associatif contenant des variables de session disponibles pour le script courant.

$ _PHP_SELF - Une chaîne contenant le nom du fichier de script PHP dans lequel il est appelé.

$ php_errormsg - $ php_errormsg est une variable contenant le texte du dernier message d'erreur généré par PHP.

ereg () - La fonction ereg () recherche une chaîne spécifiée par string pour une chaîne spécifiée par motif, retournant true si le motif est trouvé et false dans le cas contraire.

eregi () - La fonction eregi () recherche dans une chaîne spécifiée par pattern une chaîne spécifiée par string. La recherche n'est pas sensible à la casse.

La fonction split () divisera une chaîne en divers éléments, les limites de chaque élément en fonction de l'occurrence du motif dans la chaîne.

preg_match () - La fonction preg_match () recherche dans la chaîne le motif, retournant true si le motif existe et false dans le cas contraire.

La fonction preg_split () fonctionne exactement comme split (), sauf que les expressions régulières sont acceptées comme paramètres d'entrée pour pattern.

Utilisation de la méthode getMessage () de la classe Exception qui renvoie le message d'exception.

Utilisation de la méthode getCode () de la classe Exception qui retourne le code de l'exception.

Utilisation de la méthode getFile () de la classe Exception qui renvoie le nom du fichier source.

Utilisation de la méthode getLine () de la classe Exception qui renvoie la ligne source.

Utilisation de la méthode getTrace () de la classe Exception qui retourne le tableau de la trace arrière.

Utilisation de la méthode getTraceAsString () de la classe Exception qui retourne une chaîne de trace formatée.

La fonction time () de PHP vous donne toutes les informations dont vous avez besoin sur la date et l'heure actuelles. Il ne nécessite aucun argument mais renvoie un entier.

La fonction getdate () accepte éventuellement un horodatage et retourne un tableau associatif contenant des informations sur la date. Si vous omettez l'horodatage, il fonctionne avec l'horodatage actuel tel que renvoyé par time ().

La fonction date () renvoie une chaîne formatée représentant une date. Vous pouvez exercer un énorme contrôle sur le format renvoyé par date () avec un argument de chaîne que vous devez lui passer.

PHP fournit la fonction mysql_connect pour ouvrir une connexion à la base de données.

connection mysql_connect(server,user,passwd,new_link,client_flag);

PHP utilise la fonction mysql_query pour créer une base de données MySQL. Cette fonction prend deux paramètres et retourne TRUE en cas de succès ou FALSE en cas d'échec.

bool mysql_query( sql, connection );

Sa fonction la plus simple mysql_close PHP fournit pour fermer une connexion à une base de données. Cette fonction prend la ressource de connexion retournée par la fonction mysql_connect. Il renvoie TRUE en cas de succès ou FALSE en cas d'échec.

bool mysql_close ( resource $link_identifier );

Si aucune ressource n'est spécifiée, la dernière base de données ouverte est fermée.

Le nouveau module SimpleXML de PHP 5 simplifie l'analyse d'un document XML. Il transforme un document XML en un objet qui fournit un accès structuré au XML. Pour créer un objet SimpleXML à partir d'un document XML stocké dans une chaîne, passez la chaîne à simplexml_load_string (). Il renvoie un objet SimpleXML.

Oui!

PHP fournit une fonction spéciale appelée __construct () pour définir un constructeur. Vous pouvez passer autant d'arguments que vous le souhaitez dans la fonction constructeur.

Comme une fonction constructeur, vous pouvez définir une fonction destructrice en utilisant la fonction __destruct (). Vous pouvez libérer toutes les ressources avec un destructeur.

La variable $ this est une variable spéciale et fait référence au même objet ie. lui-même.

Une fois que vous avez défini votre classe, vous pouvez créer autant d'objets que vous le souhaitez de ce type de classe. Voici un exemple de création d'un objet à l'aide d'un nouvel opérateur.

$physics = new Books;
$maths = new Books;
$chemistry = new Books;

Après avoir créé vos objets, vous pourrez appeler des fonctions membres liées à cet objet. Une fonction membre pourra traiter la variable membre de l'objet associé uniquement. L'exemple suivant montre comment définir le titre et les prix des trois livres en appelant des fonctions membres.

$physics−>setTitle( "Physics for High School" );
$chemistry−>setTitle( "Advanced Chemistry" );
$maths−>setTitle( "Algebra" );
$physics−>setPrice( 10 );
$chemistry−>setPrice( 15 );
$maths−>setPrice( 7 );

Les définitions de fonction dans les classes enfants remplacent les définitions portant le même nom dans les classes parentes. Dans une classe enfant, on peut modifier la définition d'une fonction héritée de la classe parent.

Les interfaces sont définies pour fournir un nom de fonction commun aux implémenteurs. Différents réalisateurs peuvent implémenter ces interfaces en fonction de leurs besoins. Vous pouvez dire que les interfaces sont des skeltons qui sont implémentées par les développeurs.

PHP 5 introduit le mot-clé final, qui empêche les classes enfants de remplacer une méthode en préfixant la définition par final. Si la classe elle-même est en cours de définition définitive, elle ne peut pas être étendue.