Les bases de PHP. Bases de la syntaxe Navigation à partir de HTML

PHP est actuellement l'un des langages les plus populaires pour la mise en œuvre d'applications Web. Ce cours dédié à l’étude de ses fondamentaux. L'accent est mis sur application pratique compétences acquises.

Le langage PHP a été créé pour résoudre un problème pratique précis sur Internet (que l'on peut découvrir en lisant le premier cours du cours). Nous essaierons également de ne pas trop nous laisser distraire par des raisonnements théoriques et nous nous efforcerons de résoudre un problème spécifique dans chacun des cours. La plupart des exemples sont tirés d’un système réel : un musée virtuel de l’histoire de l’informatique. La première partie du cours est consacrée à l'étude des bases de la syntaxe et des structures de contrôle. Après cela, la technologie client-serveur est considérée comme le principal domaine d’application du langage PHP. Ensuite, nous passons à l'étude des fonctions intégrées les plus utiles à notre avis et à la résolution avec leur aide problèmes pratiques. Bien que le modèle objet dans Langage PHP pas le plus riche, sa présence fondamentale permet de décrire naturellement des modèles de données objets. Comme modèle de base, le modèle documentaire d'un musée virtuel d'informatique sera considéré. Ensuite, un certain nombre d'aspects appliqués seront considérés : travailler avec système de fichiers, avec une base de données, des chaînes, des sessions, DOM XML - tout cela vous permettra d'envisager les tâches clés utilisation pratique langue.

Livre : Bases de la syntaxe

Bases de la syntaxe

Nous commençons par étudier les éléments de base de la syntaxe PHP. Examinons les moyens de séparer les instructions et de créer des commentaires, des variables, des constantes, des types de données et des opérateurs.

A titre d'exemple, résolvons le problème de la création d'une pièce e-mail. Sa signification est la suivante.

Disons que vous avez une sorte d'annonce et plusieurs personnes différentes à qui vous devez envoyer cette annonce. Pour ce faire, vous créez un modèle avec le contenu de l'annonce, à l'intérieur duquel se trouvent un certain nombre de paramètres qui changent (en fonction du destinataire potentiel).

Syntaxe de base

La première chose que vous devez savoir concernant Syntaxe PHP, c'est ainsi qu'il est intégré dans le code HTML, comment l'interpréteur sait qu'il s'agit de code PHP. Nous en avons déjà parlé dans la conférence précédente. Nous ne nous répéterons pas, notons seulement que dans les exemples nous utiliserons le plus souvent l'option, et parfois la version abrégée.

Séparation des instructions

Un programme PHP (et tout autre langage de programmation) est un ensemble de commandes (instructions). Le gestionnaire de programme (analyseur) doit d'une manière ou d'une autre distinguer une commande d'une autre. À cette fin, des caractères spéciaux sont utilisés - des délimiteurs. En PHP, les instructions sont séparées de la même manière qu'en C ou Perl : chaque expression se termine par un point-virgule.

La balise fermante "?>" implique également la fin de l'instruction, elle n'est donc pas précédée d'un point-virgule. Par exemple, les deux extraits de code suivants sont équivalents :



Commentaires

Souvent, lors de l'écriture de programmes, il devient nécessaire de faire quelques commentaires sur le code qui n'affectent en rien le code lui-même, mais seulement l'expliquent. Ceci est important lors de la création de programmes volumineux et lorsque plusieurs personnes travaillent sur le même programme. S'il y a des commentaires dans le programme, il est beaucoup plus facile de comprendre son code. De plus, si vous résolvez un problème par parties, il est également pratique de commenter les parties inachevées de la solution afin de ne pas les oublier à l'avenir. Tous les langages de programmation offrent la possibilité d'inclure des commentaires dans le code du programme. PHP prend en charge plusieurs types de commentaires : C, C++ et shell Unix. Les symboles // et # indiquent le début des commentaires sur une seule ligne, et /* et */ indiquent respectivement le début et la fin des commentaires sur plusieurs lignes.

Variables, constantes et opérateurs

Un élément important de chaque langage sont les variables, les constantes et les opérateurs appliqués à ces variables et constantes. Voyons comment ces éléments sont alloués et traités en PHP.

Variables

Une variable en PHP est désignée par un signe dollar suivi de son nom. Par exemple:

Le nom de la variable est sensible à la casse, c'est-à-dire les variables $my_var et $My_var sont différentes.

Les noms de variables suivent les mêmes règles que les autres noms en PHP : un nom de variable valide doit commencer par une lettre ou un trait de soulignement, suivi d'un nombre quelconque de lettres, de chiffres ou de traits de soulignement.

En PHP 3, les variables étaient toujours affectées par valeur. Autrement dit, lorsque vous affectez une expression à une variable, toutes les valeurs de l'expression d'origine sont copiées dans cette variable. Cela signifie, par exemple, qu'après avoir attribué un variable de valeur un autre changement dans l'un d'eux n'affecte pas la valeur de l'autre.

Le résultat de ce script sera le suivant :

Une variable nommée en premier est égale à Nouveau texte
Une variable nommée seconde est égale à Texte

PHP 4, en outre, propose une autre manière d'attribuer des valeurs aux variables : l'affectation par référence. Afin d'attribuer une valeur à une variable par référence, cette valeur doit avoir un nom, c'est-à-dire il doit être représenté par une variable. Pour indiquer que la valeur d'une variable est affectée à une autre variable par référence, vous devez faire précéder le nom de la première variable d'une esperluette & du signe.

Considérons le même exemple que ci-dessus, mais nous attribuerons la valeur de la première variable à la deuxième variable par référence :

Ce script affichera ce qui suit :

Une variable nommée en premier est égale à Nouveau texte.
Une variable nommée second est égale à Nouveau texte.

Autrement dit, avec la variable $first, la variable $second a également changé.

Constantes

Pour stocker des valeurs constantes, c'est-à-dire De telles quantités, dont la valeur ne change pas lors de l'exécution du script, sont utilisées comme constantes. Ces valeurs peuvent être des constantes mathématiques, des mots de passe, des chemins de fichiers, etc. La principale différence entre une constante et une variable est qu’on ne peut pas lui attribuer une valeur plus d’une fois et que sa valeur ne peut pas être invalidée une fois déclarée. De plus, une constante n’a pas de préfixe de signe dollar et ne peut pas être définie simplement en attribuant une valeur. Comment alors définir une constante ? Il existe une fonction spéciale definition() pour cela. Sa syntaxe est :

définir("Nom_constante",
"Valeur_constante",
[Insensible à la casse])

Par défaut, les noms de constantes sont sensibles à la casse. Pour chaque constante, cela peut être modifié en définissant l'argument insensible à la casse sur True. Il existe une convention selon laquelle les noms de constantes sont toujours écrits en majuscules.

Vous pouvez obtenir la valeur d'une constante en spécifiant son nom. Contrairement aux variables, vous n'avez pas besoin de faire précéder le nom de la constante du symbole $. Alternativement, pour obtenir la valeur d’une constante, vous pouvez utiliser la fonction constant() avec le nom de la constante comme paramètre.

En plus des variables déclarées par l'utilisateur dont nous venons de parler, PHP possède un certain nombre de constantes définies par l'interpréteur lui-même. Par exemple, la constante __FILE__ stocke le nom de fichier du programme (et son chemin d'accès) qui est exécuté dans à l'heure actuelle, __FUNCTION__ contient le nom de la fonction, __CLASS__ – le nom de la classe, PHP_VERSION – la version de l'interpréteur PHP. Liste complète des constantes prédéfinies peuvent être obtenues en lisant le manuel PHP.

Opérateurs

Les opérateurs vous permettent d'effectuer diverses actions sur des variables, des constantes et des expressions. Nous n'avons pas encore mentionné ce qu'est une expression. Une expression peut être définie comme tout ce qui a un sens. Les variables et les constantes sont les formes d’expressions de base et les plus simples. De nombreuses opérations (et leurs opérateurs correspondants) peuvent être effectuées sur des expressions. Examinons certains d'entre eux plus en détail.

Ajout

Soustraction

Multiplication

Reste de la division

Concaténation (ajout de chaînes)

(c'est une chaîne composée de $a et $b)

Affectation

La variable à gauche de l'opérateur se verra attribuer la valeur obtenue à la suite de l'exécution d'opérations ou la variable/constante sur le côté droit

$a = ($b = 4) +5 ;

($a sera égal à 9, $b sera égal à 4)

Réduction. Ajoute un nombre à une variable puis lui attribue la valeur résultante

(équivalent à $a = $a + 5 ;)

Abrégé en une combinaison d'opérations de concaténation et d'affectation (une chaîne est d'abord ajoutée, puis la chaîne résultante est écrite dans une variable)

$b = "Bonjour" ;
$b .= "tout le monde" ;

Résultat : $b="Bonjour à tous"

$a et $b sont vrais (Vrai)

Au moins une des variables $a ou $b est vraie (éventuellement les deux)

Exclusif ou

L'une des variables est vraie. Le cas où les deux sont vrais est exclu

Inversion (PAS)

Si $a=Vrai alors !$a=False et vice versa

Égalité

Les valeurs des variables sont égales

Équivalence

Les valeurs et les types de variables sont égaux

Inégalité

Les valeurs des variables ne sont pas égales

Inégalité

Non-équivalence

Les variables ne sont pas équivalentes

Inférieur ou égal à

Supérieur ou égal à

Pré-incrémentation

Incrémente $a de un et renvoie $a

Post-incrémentation

Renvoie $a, puis incrémente $a de un

Pré-décrément

Décrémente $a de un et renvoie $a

Post-décrémentation

Renvoie $a, puis décrémente $a de un

Types de données

PHP prend en charge huit types de données simples.

Quatre types scalaires :

Booléen(booléen);

Entier;

Flotteur (virgule flottante) ;

Chaîne

Deux types mixtes :

Tableau (tableau);

Objet.

Et deux types spéciaux :

Ressource(ressource);

PHP ne déclare pas explicitement les types de variables. Il est préférable que l'interpréteur le fasse lui-même lors de l'exécution du programme, selon le contexte dans lequel la variable est utilisée. Considérons tous les types de données répertoriés dans l'ordre.

Tapez booléen (type booléen ou logique)

Ce type le plus simple exprime la vérité d'une valeur, c'est-à-dire qu'une variable de ce type ne peut avoir que deux valeurs - vrai VRAI ou faux FAUX.

Pour déterminer un type booléen, utilisez mot-clé VRAI ou FAUX. Les deux ne sont pas sensibles à la casse.

Les variables logiques sont utilisées dans diverses structures de contrôle (cycles, conditions, etc., elles seront discutées plus en détail dans l'une des conférences suivantes). Avoir un type logique, c'est-à-dire Certains opérateurs (par exemple l'opérateur d'égalité) ne peuvent prendre que deux valeurs, vrai ou faux. Ils sont également utilisés dans les structures de contrôle pour vérifier certaines conditions. Par exemple, dans une construction conditionnelle, la véracité de la valeur d'un opérateur ou d'une variable est vérifiée et, en fonction du résultat de la vérification, certaines actions sont effectuées. Ici, la condition peut être vraie ou fausse, ce que reflètent précisément la variable et l'opérateur de type booléen.

Tapez un entier

Ce type spécifie un nombre de l'ensemble des entiers Z = (..., -2, -1, 0, 1, 2, ...). Les entiers peuvent être spécifiés en notation décimale, hexadécimale ou octale, éventuellement précédés d'un signe "-" ou "+".

Si vous utilisez le système numérique octal, vous devez faire précéder le nombre d'un 0 (zéro) ; pour utiliser le système numérique hexadécimal, vous devez faire précéder le nombre de 0x.

La taille de l'entier varie selon la plate-forme, bien que la valeur maximale soit généralement d'environ deux milliards (il s'agit d'un 32 bits signé). PHP ne prend pas en charge les entiers non signés.

Si vous définissez un nombre dépassant les limites du type entier, il sera interprété comme un nombre à virgule flottante. De plus, si vous utilisez un opérateur qui donne un nombre supérieur aux limites d'un nombre entier, un nombre à virgule flottante sera renvoyé à la place.

Il n'y a pas d'opérateur de division entière en PHP. Le résultat de 1/2 sera le nombre à virgule flottante 0,5. Vous pouvez convertir la valeur en un entier, qui l'arrondit toujours à l'inférieur, ou utiliser la fonction round(), qui arrondit la valeur selon les règles standard. Pour convertir une variable en un type spécifique, vous devez spécifier le type souhaité entre parenthèses avant la variable. Par exemple, pour convertir la variable $a=0.5 en un type entier, vous devez écrire (integer)(0.5) ou (integer) $a ou utiliser la notation abrégée (int)(0.5). La possibilité d'une conversion de type explicite utilisant ce principe existe pour tous les types de données (bien entendu, une valeur d'un type ne peut pas toujours être convertie en un autre type). Nous n'entrerons pas dans toutes les subtilités du transtypage de type, puisque PHP le fait automatiquement en fonction du contexte.

Tapez float (nombres à virgule flottante)

Les nombres à virgule flottante (également appelés nombres doubles ou nombres réels) peuvent être définis à l'aide de l'une des syntaxes suivantes :

La taille d'un nombre à virgule flottante varie selon la plate-forme, bien que le maximum soit généralement d'environ 1,8e308 avec une précision d'environ 14 chiffres décimaux.

Tapez la chaîne

Une chaîne est un ensemble de caractères. DANS Symbole PHP est identique à un octet, ce qui signifie qu'il y a exactement 256 caractères différents. Cela signifie également que PHP ne prend pas en charge Unicode natif. Il n'y a pratiquement aucune restriction sur la taille des chaînes en PHP, il n'y a donc absolument aucune raison de s'inquiéter de leur longueur.

Une chaîne en PHP peut être définie de trois manières différentes :

Utiliser des guillemets simples ;

Utiliser des guillemets doubles ;

Syntaxe Hérédoc.

Citations simples

La façon la plus simple de définir une chaîne est de la mettre entre guillemets simples """. Pour utiliser un guillemet simple dans une chaîne, comme dans de nombreux autres langages, vous devez le précéder d'une barre oblique inverse "", c'est-à-dire l'échapper. Si le barre oblique inverse La barre doit être placée avant le guillemet simple ou être à la fin de la ligne ; elle doit être dupliquée avec """.

Dans une chaîne entourée de guillemets simples, si la barre oblique inverse "" apparaît avant tout autre caractère (autre que "" ou ""), elle est traitée comme un caractère normal et est affichée comme toutes les autres. Par conséquent, la barre oblique inverse doit être échappée. seulement s'il se trouve en fin de ligne, avant le guillemet de clôture.

Il existe un certain nombre de combinaisons de caractères en PHP qui commencent par le caractère barre oblique inverse. Celles-ci sont appelées séquences d'échappement et elles ont des significations particulières dont nous parlerons un peu plus tard. Ainsi, contrairement aux deux autres syntaxes, les variables et les séquences de contrôle pour caractères spéciaux, apparaissant dans des chaînes entourées de guillemets simples ne sont pas traités.

Guillemets doubles

Si la chaîne est placée entre guillemets """, PHP reconnaît plus séquences d'échappement pour les caractères spéciaux. Certains d'entre eux sont présentés dans le tableau 2.7.

Nouvelle ligne (LF ou 0x0A (10) en ASCII)

Retour chariot (CR ou 0x0D (13) en ASCII)

Onglet horizontal (HT ou 0x09 (9) en ASCII)

Barre oblique inverse

Signe dollar

Citation double

Nous le répétons, si vous souhaitez échapper à tout autre caractère, la barre oblique inverse sera également imprimée !

La propriété la plus importante des chaînes dans guillemets doubles est le traitement des variables.

Une autre façon de définir des chaînes consiste à utiliser la syntaxe heredoc. Dans ce cas, la ligne doit commencer par le caractère

Remarque : le support Heredoc a été ajouté dans PHP 4.

Tapez un tableau

Un tableau en PHP est une carte ordonnée - un type qui convertit les valeurs en clés. Ce type est optimisé de plusieurs manières, vous pouvez donc l'utiliser comme un véritable tableau, une liste (vecteur), une table de hachage (qui est une implémentation de carte), une pile, une file d'attente, etc. Parce que vous pouvez avoir une valeur différente comme valeur Tableau PHP, vous pouvez également facilement émuler des arbres.

Vous pouvez définir un tableau à l'aide de la construction array() ou en attribuant directement des valeurs à ses éléments.

Définition à l'aide de array()

tableau ( => valeur,
=> valeur1, ...)

La construction du langage array() prend des paires clé => valeur comme paramètres, séparées par des virgules. Le symbole => correspond à une valeur avec sa clé. La clé peut être un entier ou une chaîne, et la valeur peut être n'importe quel élément disponible dans Type PHP. La clé numérique d'un tableau est souvent appelée index. L'indexation des tableaux en PHP commence à zéro. La valeur d'un élément du tableau peut être obtenue en spécifiant la clé de l'élément recherché après le nom du tableau entre crochets. Si la clé du tableau est une notation entière standard, elle est traitée comme un nombre ; sinon, elle est traitée comme une chaîne. Par conséquent, écrire $a["1"] équivaut à écrire $a, tout comme $a["-1"] est équivalent à $a[-1].

Si aucune clé n'est spécifiée pour un élément, alors la clé numérique maximale augmentée de un est prise comme clé. Si vous spécifiez une clé à laquelle une valeur a déjà été attribuée, elle sera écrasée. Depuis PHP 4.3.0, si la clé maximale est un nombre négatif, alors la clé suivante du tableau sera zéro (0).

Si vous utilisez TRUE ou FALSE comme clé, sa valeur est respectivement convertie en un et zéro de type entier. Si nous utilisons NULL, alors au lieu de la clé, nous obtiendrons une chaîne vide. Vous pouvez également utiliser la chaîne vide elle-même comme clé, mais elle doit être placée entre guillemets. Ce n’est donc pas la même chose que d’utiliser des crochets vides. Les tableaux et les objets ne peuvent pas être utilisés comme clés.

Définition utilisant la syntaxe des crochets

Vous pouvez créer un tableau en y écrivant simplement des valeurs. Comme nous l'avons déjà dit, la valeur d'un élément du tableau peut être obtenue à l'aide de crochets, à l'intérieur desquels vous devez indiquer sa clé, par exemple $book["php"]. Si vous précisez nouvelle clé et une nouvelle valeur, par exemple $book["new_key"]="new_value", elle sera alors ajoutée au tableau nouvel élément. Si nous ne spécifions pas la clé, mais attribuons uniquement la valeur $book="new_value", alors le nouvel élément du tableau aura une clé numérique supérieure d'une unité à la clé maximale existante. Si le tableau auquel nous ajoutons des valeurs n'existe pas déjà, il sera créé.

Afin de modifier un élément spécifique du tableau, il vous suffit de lui attribuer une nouvelle valeur ainsi que sa clé. Vous ne pouvez pas modifier la clé d'un élément, vous pouvez uniquement supprimer un élément (paire clé/valeur) et en ajouter un nouveau. Pour supprimer un élément du tableau, vous devez utiliser la fonction unset().

Notez que lorsque des crochets vides sont utilisés, la clé numérique maximale est recherchée parmi les clés existant dans le tableau depuis la dernière réindexation. Vous pouvez réindexer un tableau à l'aide de la fonction array_values().