« Programmation PHP/PEAR » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 11 : Ligne 11 :
== DB ==
== DB ==
L'extension PEAR DB fournit une gamme de fonctions de gestion de [[../Bases de données|base de données]] permettant d'utiliser le même code quel que soit la base de données. Cela permet, si vous décidez de changer de BDD de ne pas être obligé de modifier de nouveau tous vos scripts. Un simple changement de variable vous permettra de passer de [[MySQL]] à [[Oracle]] par exemple.
L'extension PEAR DB fournit une gamme de fonctions de gestion de [[../Bases de données|base de données]] permettant d'utiliser le même code quel que soit la base de données. Cela permet, si vous décidez de changer de BDD de ne pas être obligé de modifier de nouveau tous vos scripts. Un simple changement de variable vous permettra de passer de [[MySQL]] à [[Oracle]] par exemple.

Elle n'est plus supportée depuis 2015<ref>http://pear.php.net/package/DB</ref>.


=== Connexion à la base ===
=== Connexion à la base ===
Ligne 83 : Ligne 85 :
</source>
</source>


== Spreadsheet_Excel_Writer ==
== Spreadsheet ==
Cette bibliothèque fournit des classes de [[Translinguisme/Programmation#Manipulation_de_fichier_Excel|manipulation de fichier .xls sont]]<ref>[http://pear.php.net/package/Spreadsheet_Excel_Writer/docs/latest/Spreadsheet_Excel_Writer/Spreadsheet_Excel_Writer_Format.html pear.php.net]</ref><ref>[http://g-ernaelsten.developpez.com/tutoriels/excelphp/ developpez.com]</ref>.

=== Générer des fichier Excel depuis une BDD ===
Avec le fichier <code>include "Spreadsheet/Excel/Writer.php;</code>, des classes de [[Translinguisme/Programmation#Manipulation_de_fichier_Excel|manipulation de fichier .xls sont disponibles]]<ref>[http://pear.php.net/package/Spreadsheet_Excel_Writer/docs/latest/Spreadsheet_Excel_Writer/Spreadsheet_Excel_Writer_Format.html pear.php.net]</ref><ref>[http://g-ernaelsten.developpez.com/tutoriels/excelphp/ developpez.com]</ref>.


Pour l'installer, il faut simplement télécharger le paquetage [http://pear.php.net/package/Spreadsheet_Excel_Writer/download Spreadsheet_Excel_Writer], qui utilise [http://pear.php.net/package/OLE/download OLE] et [http://pear.php.net/package/Console_Getopt/download Getopt].
Pour l'installer, il faut simplement télécharger le paquetage [http://pear.php.net/package/Spreadsheet_Excel_Writer/download Spreadsheet_Excel_Writer], qui utilise [http://pear.php.net/package/OLE/download OLE] et [http://pear.php.net/package/Console_Getopt/download Getopt].

Pour l'utiliser :
<source lang=php>
include "Spreadsheet/Excel/Writer.php;
</source>

Elle n'est plus supportée depuis 2012<ref>http://pear.php.net/package/Spreadsheet_Excel_Writer/</ref>.


=== Limites ===
=== Limites ===

Version du 4 mai 2016 à 16:06

Qu'est-ce que PEAR ?

PEAR, acronyme de PHP Extension and Application Repository, est un groupe de développeurs qui proposent des extensions PHP en garantissant un code de qualité. La liste complète des extensions est téléchargeable gratuitement sur le site officiel[1].

Pour l'installer le framework, télécharger le gestionnaire sur https://pear.php.net/go-pear, et le lancer (ex : http://localhost/Frameworks/go-pear.php).

En lançant l'installation par défaut, les fichiers sont téléchargés dans un sous-dossier "PEAR".

DB

L'extension PEAR DB fournit une gamme de fonctions de gestion de base de données permettant d'utiliser le même code quel que soit la base de données. Cela permet, si vous décidez de changer de BDD de ne pas être obligé de modifier de nouveau tous vos scripts. Un simple changement de variable vous permettra de passer de MySQL à Oracle par exemple.

Elle n'est plus supportée depuis 2015[2].

Connexion à la base

Se connecter à une base de données revêt la syntaxe suivante :

require_once('DB.php'); // Indispensable

$dbType = "mysql";
$host = "127.0.0.1";
$account = "Mon_Compte";
$pass = "Mon_Mot_de_passe";
$dbName = "Ma_Base";
$dsn = "$dbType://$account:$pass@$host/$dbName";

$db = DB::connect($dsn);

if (PEAR::isError($db)) {
echo "Erreur : ".$db->getMessage();
}

Il est également possible de remplacer la chaîne de caractères par un tableau contenant vos informations :

$dsn = array(
    'phptype'  => 'mysql',
    'username' => 'myAccount',
    'password' => '****',
    'hostspec' => '127.0.0.1',
    'database' => 'tests',
);

Vous êtes donc connectés à votre base de données. Il s'agit maintenant d'effectuer des opérations avec celle-ci.

Fermeture de la connexion

Il est important de fermer votre connexion une fois vos opérations terminées pour augmenter la sécurité de votre code, réduisant les risques d'atteinte à vos données par un individu mal intentionné. Voici donc le code détruisant la connexion :

$db->disconnect();


Envoyer une requête

Une fois connecté, vous allez pouvoir envoyer des requêtes à votre BDD comme suit :

$query = "SELECT * FROM table WHERE id=5";
$rsc = $db->query($query);

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 mysql_fetch_array() :

$query = "SELECT * FROM table WHERE id=5";
$rsc = $db->query($query);

if ( DB::isError($rsc) )
die($rsc->getMessage());

while($result = $rsc->fetchRow(DB_FETCHMODE_ASSOC) )
{
 echo $result['id']."\n";
}

Spreadsheet_Excel_Writer

Cette bibliothèque fournit des classes de manipulation de fichier .xls sont[3][4].

Pour l'installer, il faut simplement télécharger le paquetage Spreadsheet_Excel_Writer, qui utilise OLE et Getopt.

Pour l'utiliser :

include "Spreadsheet/Excel/Writer.php;

Elle n'est plus supportée depuis 2012[5].

Limites

La partie "Spreadsheet/Excel" de PEAR n'est plus maintenue depuis 2012, on lui préfèrera donc PHPExcel[6][7], qui gère en plus les XLSX (plus de limite de 65 536 lignes par feuille), l'auto-ajustement et les filtres.

Références

  1. http://pear.php.net/
  2. http://pear.php.net/package/DB
  3. pear.php.net
  4. developpez.com
  5. http://pear.php.net/package/Spreadsheet_Excel_Writer/
  6. https://github.com/PHPOffice/PHPExcel
  7. https://phpexcel.codeplex.com/