PHP, Rasmus Ledorf, 1995 Python, Guido Von Rossum, 1991 Ruby, Yukihiro Matsumoto "Matz", 1995
2010 | 73 % 2013 | 79 % 2016 | 82 %
source : https://w3techs.com/technologies/history_overview/programming_language/ms/y
Conçu pour le développement web, peut être aussi utilisé pour des applications en CLI
Comme Node, ne vis que dans le contexte du serveur
Pas de typage
- Les variables s'écrivent avec un $ au début
- Les instructions se terminent avec un
;
- Les fichiers portent l'extension
.php
et le code s'exécute entre les balises<?php
ET?>
- la concaténation se fait avec un point
<?php
$foo = "bar";
$fruit = 'pommes';
$pommes = $fruit . ' granny';
$total = 8;
echo "J'ai mangé $total $pommes"
// va afficher : J'ai mangé 8 pommes granny
/* Ceci est un commentaire
multi-ligne
*/
On peut insérer du php dans un fichier html (à condition qu'il porte l'extension .php
)
<div>
<h1><?php echo myfunc("PHP is awesome") ?></h1>
</div>
Si un fichier ne contient que des instructions PHP (donc pas de HTML), il vaut mieux ne pas le fermer avec ?>
Pour débugger le contenu d'une variable, on utilise la fonction var_dump
(echo
ne marche pas avec un tableau)
<?php
$fruits = array('orange', 'pomme', 'poire');
var_dump($fruits);
/*affichera
array(3) {
[0]=> string(6) "orange"
[1]=> string(5) "pomme"
[2]=> string(5) "poire"
}
*/
Intégrer un autre fichier est facile !
header.php
<html>
<head>
<title><?php echo $pageTitle; ?></title>
<link src="style.css" />
</head>
<body>
home.php
<?php
$pageTitle = "Welcome home !";
include "header.php";
?>
<h1>Welcome to my awesome Site</h1>
<p>Bla bla bla</p>
<?php
include "footer.php";
Ce n'est pas la façon optimale de faire, mais en attendant de savoir ce qu'est un moteur de template, on s'en contentera !
Si on accède à l'url http://localhost:8000/index.php?page=home&foo=bar
, un tableau géré automatiquement par le moteur de PHP créera le tableau $_GET
echo $_GET['page']; // affichera home
Pour un formulaire <form action="/save.php" method="post">
, on utilisera la superglobale $_POST
où l'indice du tableau est la valeur de l'attribut name
formulaire.html
<form action="/save.php" method="post">
<input name="username" />
</form>
save.php
echo $_POST['username'];
Vérifier l'existence d'une variable ou d'un élément de tableau : isset
if(isset($pomme)) {
echo 'la variable $pomme existe et vaut : ' . $pomme;
}
if(!isset($_GET['foo'])) {
echo 'le querystring ne contient pas foo';
}
Installer PHP sous ubuntu 16.06/16.10
sudo apt update
sudo apt install php-fpm php-cli php-json php-mcrypt php-mysql
Utiliser le serveur interne du moteur PHP (dev only!)
php -S 0.0.0.0:8000 -t public
Practice Time !