Je viens de retrouver des vieux cds, et je regarde ce que je faisais à l'époque cad en 2001. J'avais commencé php en 1998 et venant de programmation traditionnelle, php3 introduisait enfin l'objet (simple mais quand même :) )
A l'époque je faisais déjà des sites en structure MVC sans le savoir (ca me semblait tellement logique) .
Bien sur ceci n'est qu'une infime partie des scripts mais c'est marrant de voir l'évolution.
Si vous aussi vous avez des vieux scripts postez les :)Un objet qui "initialisait" le site:
<?php
/*
================================================================================
== ==
== TApplication ==
== ==
== Classe gérant les paramètres d'une site ==
== ==
=============================== HISTORIQUE ===================================
== 1.0.0.0 : Première version ==
==----------------------------------------------------------------------------==
== (c) 2001 LPA ==
================================================================================
*/
class TApplication {
// Version de la classe
var $CLASSE_MAJOR_VERSION = "0"; // Numéro majeur de la classe
var $CLASSE_MINOR_VERSION = "1"; // Numéro mineur de la classe
var $Parameters = array(); // Tableau des Parametres du site
var $FileName;
/*
=========================================================================
Constructor
Paramètres : Nom du fichier de configuration
Sortie :
-------------------------------------------------------------------------
*/
function TApplication($FileName) {
$this->FileName = $FileName;
$this->Read_File($this->FileName);
}
// -------------------------------------------------------------------------
/*
================================================================================
METHODES PRIVEES
================================================================================
*/
/*
================================================================================
METHODES PUBLIQUES
================================================================================
*/
/*
=========================================================================
Méthode qui va récupérer un charger le fichier de configuration
Paramètres : $param : Nom du fichier
Sortie : Résultat de la lecture : < 0 problème lors de la lecture
-------------------------------------------------------------------------
*/
function Read_File($file) {
if ($file <> "") {
$fp = fopen($file,"r");
while ($ligne = fgets($fp, 1024)) {
$ligne = ereg_replace(";.*$","",$ligne); // On supprime les commentaires
list($nom,$valeur) = explode("=",$ligne);
$valeur = trim($valeur);
$nom = trim($nom);
$this->Parameters[$nom] = $valeur;
}
return $config;
} else {
Die("POPO");
}
}
// -------------------------------------------------------------------------
/*
=========================================================================
Méthode qui va sauver les paramètres dans le fichier
Paramètres :
Sortie :
-------------------------------------------------------------------------
*/
function Save_Parameters() {
}
// -------------------------------------------------------------------------
/*
=========================================================================
Méthode qui va récupérer un paramètre dans le tableau
Paramètres : $param : Nom du paramètre
Sortie : Valeur du paramètre
-------------------------------------------------------------------------
*/
function Get_Parameter($param) {
if ($param <> "") {
return $this->Parameters[$param];
} else {
Die("POPO");
}
}
// -------------------------------------------------------------------------
/*
================================================================================
METHODES SUR LES STATISTIQUES
================================================================================
*/
/*
=========================================================================
Méthode qui renvoie le numéro complet de la classe : major.minor
Paramètres :
Sortie :
-------------------------------------------------------------------------
*/
function Get_Version() {
return "$this->CLASSE_MAJOR_VERSION.$this->CLASSE_MINOR_VERSION";
}
// -------------------------------------------------------------------------
/*
=========================================================================
Méthode qui renvoie le numéro majeur de la classe
Paramètres :
Sortie :
-------------------------------------------------------------------------
*/
function Get_Major_Version() {
return $this->CLASSE_MAJOR_VERSION;
}
// -------------------------------------------------------------------------
/*
=========================================================================
Méthode qui renvoie le numéro mineur de la classe
Paramètres :
Sortie :
-------------------------------------------------------------------------
*/
function Get_Minor_Version() {
return $this->CLASSE_MINOR_VERSION;
}
// -------------------------------------------------------------------------
}
?>
A l'époque je travaillais sur plusieurs db (mysql, postgress) donc j'avais fais des classes d'abstraction (en oui pas de pdo:) )
<?php
// =============================================================================
// == ==
// == Classe d'abstraction des bases de données ==
// == ==
// ==-------------------------------------------------------------------------==
// == (c) 2001 LPA ==
// =============================================================================
class LPA_DB_mySQL extends LPA_DB_Base {
//============================================================================
// Constructeur de la classe.
// Paramètres :
// $persistent - permet de savoir si la connection sera persistente
// $error - permet de définir si en cas d'erreur,
// le script envoie un mail ou dans le fichier log
//============================================================================
function LPA_DB_mySQL($host="", $user="", $pwd="", $base="", $persistent=0, $error=0) {
// On mets à jour la version de la classe de manipulation pour mysql
$this->CLASSE_MINOR_VERSION = "2";
$this->CON_PERS = $persistent;
$this->ERROR_RED = $error;
if (($host != "") AND ($user != "")) {
$this->Connect($host,$user,$pwd);
}
if ($base != "") {
$this->Select_DB($base);
}
}
//============================================================================
// Connect : Connecter une base de données
// Paramètres :
// $persistent - permet de savoir si la connection sera persistente
// $error - permet de définir si en cas d'erreur,
// le script envoie un mail ou dans le fichier log
//============================================================================
function Connect($host,$user,$pwd) {
if ($this->ID_DB==-1) {
$this->CON_HOST = $host;
$this->CON_USER = $user;
$this->CON_PWD = $pwd;
if ($this->CON_PERS == 0) {
$this->ID_DB=@mysql_connect($host,$user,$pwd);
} else {
$this->ID_DB=@mysql_pconnect($host,$user,$pwd);
}
}
}
//============================================================================
// Close : Ferme une connection à la base de données
// Paramètres :
// $persistent - permet de savoir si la connection sera persistente
// $error - permet de définir si en cas d'erreur,
// le script envoie un mail ou dans le fichier log
//============================================================================
function Close() {
if ($this->ID_DB != 0) {
return @mysql_close($this->ID_DB);
}
}
//============================================================================
// Select_DB : Selectionner la table
// Paramètres :
// $persistent - permet de savoir si la connection sera persistente
// $error - permet de définir si en cas d'erreur,
// le script envoie un mail ou dans le fichier log
//============================================================================
function Select_DB($db) {
$this->CON_DB=$db;
if ($this->ID_DB) {
return @mysql_select_db($db);
} else {
$this->ERROR_NO = @mysql_errno();
$this->ERROR_ST = @mysql_error();
return false;
}
}
//============================================================================
// Execute une requete SQL.
// Paramètres :
// $
//============================================================================
function Execute($sql) {
$this->REQUETESQL = $sql;
$this->ID_SQL=@mysql_query($sql, $this->ID_DB);
$this->ERROR_NO = @mysql_errno();
$this->ERROR_ST = @mysql_error();
$this->ROW_COUNT = @mysql_num_rows($this->ID_SQL);
$this->INSERT_ID = @mysql_insert_id();
if ($this->ERROR_NO>0) {
$this->Error();
}
}
//============================================================================
// Get_Record : Lit l'enregistrement en cours
// et va placer le résulat dans Field
// Paramètres : AUCUN
//============================================================================
function Get_Record() {
$this->Fields=@mysql_fetch_array($this->ID_SQL);
$Ligne = is_array($this->Fields);
if (!$Ligne) {
@mysql_free_result($this->ID_SQL);
$this->ID_SQL=0;
}
return $Ligne;
}
//============================================================================
// Seek : Permet de se positionner à un enregistrement précis.
// Paramètres :
// $pos : Numéro physique de l'enreg où placer le curseur SQL
//============================================================================
function Seek($pos) {
return @mysql_data_seek($this_ID_DB,$pos);
$this->ERROR_NO = @mysql_errno();
$this->ERROR_ST = @mysql_error();
// On en profite pour récupérer les données...
$this->Get_Record();
}
//============================================================================
// Row_Count : Renvoie le nombre d'enregistrement à la requete précédament faite
// Paramètres : AUCUN
//============================================================================
function Row_Count() {
return $this->ROW_COUNT;
}
//============================================================================
// Get_Insert_ID : Renvoie le numéro de l'enregistrement crée si l'index
// est en auto-incrémenté
// Paramètres : AUCUN
//============================================================================
function Get_Insert_ID() {
return $this->INSERT_ID;
}
//============================================================================
// Field : Renvoie la valeur du champ
// Paramètres : $nom - Nom du champ dont la fonction doit retourner la valeur
//============================================================================
function Field($nom) {
return $this->Fields[$nom];
}
}
?>