Aller au contenu
Télécharger Firefox 2

Interface de gestion de headers

Voici une petite note pour quand j'aurais le temps. Il faudrait que je me fasse une classe de gestion de headers, ça sera plus simple pour séparer le code, la forme et le comportement de mes pages web.

Y a plus qu'a

// + ===========================================
// + Interface de gestion d'entêtes
// + @package     com.utils
// + @author     Personne encore
// + -----------------------------------------------------------------------------
interface IHeadersManager {

     // + --------------------------------------------------------------------------
     // + ENTETES HTTP
     // + --------------------------------------------------------------------------

     // + -----------------------------------------------
     // + Définit le type Mime du document
     // + strType     Le type MIME
     // + -----------------------------------------------
     public function setTypeMime(strType);

     // + -----------------------------------------------
     // + Spécifie un fichier à télécharger
     // + strUrl     URL du fichier ou nom de fichier
     // + strType     Type de document
     // + -----------------------------------------------
     public function setFile($strUrl, $strType);

     // + -----------------------------------------------
     // + Spécifie une redirection
     // + strUrl     URL de redirection
     // + -----------------------------------------------
     public function setLocation($strUrl);
     
     
     // + --------------------------------------------------------------------------
     // + CONTROLES
     // + --------------------------------------------------------------------------

     // + -----------------------------------------------
     // + Accès restreint pour un utilisateur ou plus
     // + arrUserPassword     Tableau associatif contenant 
     // +               user=>mot de passe
     // + -----------------------------------------------
     public function setBasicAuthentification($arrUserPassword);

     // + -----------------------------------------------
     // + Paramètres Post requis
     // + arrNameValue     Tableau associatif contenant
     // +                nom de variable=>valeur
     // + boolValue          Nuance les tests
     // + -----------------------------------------------
     public function checkPost($arrNameValue, $boolValue);     
     
     // + -----------------------------------------------
     // + Paramètres Get requis
     // + arrNameValue
     // + boolValue          Nuance les tests
     // + -----------------------------------------------
     public function checkGet($arrNameValue, $boolValue);     

     // + -----------------------------------------------
     // + Paramètres Files requis
     // + arrNameValue     Fichiers obligatoires
     // + -----------------------------------------------
     public function checkFiles($arrName);     
     
     // + --------------------------------------------------------------------------
     // + ENTETES HTML
     // + --------------------------------------------------------------------------

     // + -----------------------------------------------
     // + Définit le doctype
     // + strTitle     Le doctype du document
     // + -----------------------------------------------
     public function setDtd(strDtd);

     // + -----------------------------------------------
     // + Définit le titre
     // + strTitle     Le titre du document
     // + -----------------------------------------------
     public function setTitle(strTitle);

     // + -----------------------------------------------
     // + Ajouter une balise Meta ou plus
     // + arrNameValue     Tableau associatif contenant
     // +                nom meta=>valeur meta
     // + -----------------------------------------------
     public function appendMeta($arrNameValue);

     // + -----------------------------------------------
     // + Ajouter un lien vers une feuille de style ou plus
     // + strUrl     URL de la CSS
     // + strType     Type de fichier
     // + -----------------------------------------------
     public function appendStyle($strUrl, $strType);

     // + -----------------------------------------------
     // + Ajouter un lien vers un script ou plus
     // + strUrl     TURL du fichier de script
     // + strType     Type de fichier
     // + strLanguage     Langage
     // + -----------------------------------------------
     public function appendScript($strUrl, $strType, $strLanguage);

     // + --------------------------------------------------------------------------
     // + SORTIE
     // + --------------------------------------------------------------------------

     // + -----------------------------------------------
     // + Affiche l'entête HTML
     // + -----------------------------------------------
     public function output();
}

Bien sûr la structure n'est pas arrêtée. Si vous avez des idées n'hésitez pas :D


Commentaires


[#1] Commentaire rédigé le Mardi 19 Juillet 2005 à 16:01 par Bruno

blog = post it ?

[#2] Commentaire rédigé le Mardi 19 Juillet 2005 à 16:06 par solo

@Bruno

Oui mr green

Au début mon blog était destiné à faire office de post-it et de mémo ^^

Plus sérieusement(je l'étais aussi un peu déjà ) ce billet est aussi l'occasion de confronter mon modèle à votre avis et d'avoir des feedbacks. :)

[#3] Commentaire rédigé le Mardi 19 Juillet 2005 à 18:00 par neolao

tu pourrai mettre les détails des paramètres ?
par exemple checkPost, c'est pour checker les variables si elles existent, le deuxième paramètre je suppose que c'est pour valeur obligatoire, mais le troisième paramètre sert à quoi ?

sinon, je vois que tu veux mettre aussi l'en-tête html en plus de modifier le type mime, dans ce cas tu devrais avoir aussi la dtd et tout

[#4] Commentaire rédigé le Mardi 19 Juillet 2005 à 21:15 par solo

Merci neolao, c'est une bonne idée le doctype.

En ce qui concerne le paramètre boolValue, il permet de spécifier la valeur du return selon que les tests sont tous vérifiés ou non.Cela implique une gestion de messages d'erreurs dans la classe car une condition non respectée ne renverra pas false.

Je vais documenter tout ceci un peu plus. Merci.

[#5] Commentaire rédigé le Mardi 19 Juillet 2005 à 22:36 par neolao

lol j'ai pas trop compris pour le boolValue

hummm pour setBasicAuthentification, peut etre en paramètre le mode de cryptage

il y a aussi l'encodage du fichier

et heu ... le media du css: screen, print etc ...

[#6] Commentaire rédigé le Mercredi 20 Juillet 2005 à 09:11 par solo

Merci neolao, c'est ce qu'on appelle des feedbacks :D

[#7] Commentaire rédigé le Vendredi 22 Juillet 2005 à 11:27 par Ldo

l'idée est bonne, par contre je capte pas pourquoi tu mélange les en-têtes serveur avec les html ?
ça serait pas plus clair de faire 2 classes distincte ?

sinon dans les header pour le serveur, il te manque la chose qui manque cruellement à php, la gestion des date de modification du document. qui renvoi un code 200 ou 304 en fonction de la date envoyé par le client.
je l'ai fait pour dwéf3, c'est tout con à gérer, mais ça nécessite des requêtes pour trouver la date de chaque élément qui compose la page. sur la prochaine version de dwéf par exemple, je prend en compte la date du dernier commentaire ou trackback en temps que date last-modified de la page, et j'envoie ainsi 200 ou 304 au client. comme d'habitude, tout cela n'a d'intérêt que pour le référencement, et google sitemap entre autre mr green

public function appendLastModified($intLastModified);

et tu récupère la date du client grâce à $_SERVER['HTTP_IF_MODIFIED_SINCE'] :D

[#8] Commentaire rédigé le Vendredi 22 Juillet 2005 à 11:28 par Ldo

ça me donne une idée d'ailleur, je commence la rédaction d'un petit article expliquant comment je gère ça, avec le code en bonus :D

[#9] Commentaire rédigé le Vendredi 22 Juillet 2005 à 11:36 par solo

Bonne nouvelle j'attends de voir ça avec impatience ;-)

ps: j'ai encore rien fait, c'est du brainstorming ^^

L'ajout de commentaire a été désactivé pour ce billet.

Trackbacks

Pisteurs vers ce billet (trackbacks entrant)

Il n'y a pas encore de pisteurs pour ce billet.

Pistés par ce billet (trackbacks sortant)

Il n'y a pas encore de pisteurs effectué par ce billet.


A propos du billet

  • Auteur : Thanh
  • Thématique :
    Développement, PHP
  • Publié : Mardi 19 Juillet 2005 à 15h46
  • Nombre de lectures : 2214
  • Nombre de commentaires : 9
  • Ping : Les trackbacks sont fermés.
  • Tags :
Avatar de Thanh

Raccourcis

Rechercher un billet

Sous Rubriques

Photo Pif

Photopif