Différences entre les versions de « Programmation PHP/PEAR »

m
<source> -> <syntaxhighlight> (phab:T237267)
m (<source> -> <syntaxhighlight> (phab:T237267))
 
Se connecter à une base de données revêt la syntaxe suivante :
 
<sourcesyntaxhighlight lang=php>
require_once('DB.php'); // Indispensable
 
echo "Erreur : ".$db->getMessage();
}
</syntaxhighlight>
</source>
 
Il est également possible de remplacer la chaîne de caractères par un tableau contenant vos informations :
 
<sourcesyntaxhighlight lang=php>
$dsn = array(
'phptype' => 'mysql',
'database' => 'tests',
);
</syntaxhighlight>
</source>
 
Vous êtes donc connectés à votre base de données. Il s'agit maintenant d'effectuer des opérations avec celle-ci.
Voici donc le code détruisant la connexion :
 
<sourcesyntaxhighlight lang=php>
$db->disconnect();
</syntaxhighlight>
</source>
 
 
Une fois connecté, vous allez pouvoir envoyer des requêtes à votre BDD comme suit :
 
<sourcesyntaxhighlight lang=php>
$query = "SELECT * FROM table WHERE id=5";
$rsc = $db->query($query);
</syntaxhighlight>
</source>
 
=== Récupérer des informations ===
Comme avec n'importe quelle base de données, vous aurez à récupérer le résultat de votre requête. Voici une fonction équivalente de <code>mysql_fetch_array()</code> :
 
<sourcesyntaxhighlight lang=php>
$query = "SELECT * FROM table WHERE id=5";
$rsc = $db->query($query);
echo $result['id']."\n";
}
</syntaxhighlight>
</source>
 
== MDB2 ==
 
Pour l'utiliser :
<sourcesyntaxhighlight lang=php>
include "Spreadsheet/Excel/Writer.php;
</syntaxhighlight>
</source>
 
=== Limites ===
== phpDocumentor ==
Ce générateur de documentation analyse aussi le code. Ainsi, on peut décrire dans l'annotation qui précède une méthode, les types de ses arguments ou de son résultat<ref>https://www.phpdoc.org/</ref> :
<sourcesyntaxhighlight lang=php>
/**
* @param bool $condition
* @return String|null
*/
</syntaxhighlight>
</source>
Une méthode qui hérite d'une autre peut aussi hériter de sa doc :
@inheritdoc
== PECL ==
{{w|PECL}} (prononcé "pickle", pour ''PHP Extension Community Library''), est un gestionnaire de paquets. Exemples :
<sourcesyntaxhighlight lang=bash>
sudo pecl install memcached
sudo pecl install redis
sudo pecl install igbinary
sudo pecl install imagick
</syntaxhighlight>
</source>
 
Pour désinstaller :
<sourcesyntaxhighlight lang=bash>
sudo pecl uninstall memcached
</syntaxhighlight>
</source>
 
{{attention|1=Sur un serveur avec plusieurs versions de PHP actives, il peut être nécessaire de préciser sur laquelle installer le paquet au préalable<ref>https://github.com/Homebrew/homebrew-core/issues/26108</ref>. Sinon l'erreur suivante survient : ''Unable to load dynamic library 'memcached.so'''. Plusieurs solutions :
<sourcesyntaxhighlight lang=bash>
export PATH="/usr/local/opt/php@7.2/bin:$PATH"
export PATH="/usr/local/opt/php@7.2/sbin:$PATH"
sudo pecl uninstall memcached; sudo pecl install memcached
</syntaxhighlight>
</source>
ou
<sourcesyntaxhighlight lang=bash>
sudo phpdismod -v 7.2 memcached; sudo phpenmod -v 7.2 memcached
</syntaxhighlight>
</source>
 
Pour vérifier :
<sourcesyntaxhighlight lang=bash>
php7.0 -r "phpinfo();" |grep -i memcache
php7.1 -r "phpinfo();" |grep -i memcache
php7.3 -r "phpinfo();" |grep -i memcache
php7.4 -r "phpinfo();" |grep -i memcache
</syntaxhighlight>
</source>
}}
 
1 535

modifications