[SPIP Zone] gabarit pour fichier "exec"

Bonjour,

dans le cadre du plugin Atelier, je voudrais avoir vos avis sur un
gabarit servant à la génération d'une feuille privée.

Le principe est le suivant : L'utilisateur utilise un formulaire
permettant de générer un fichier "exec" dans son plugin (appelé "feuille
privée".

Le fichier "exec" est construit à partir du gabarit ci-dessous.

Le tag [nom_objet] est remplacé par le prefixe du plugin suivie du nom
de la feuille.

Le tag [prefixe] est remplacé par le prefixe du plugin.

au final, le fichier ./exec/[nom_objet].php est ajouté dans
l'arborescence du plugin, il contient le gabarit avec les tags modifiés.

J'ai taché de mettre un maximum de commentaire afin d'expliquer le
fonctionnement dudit fichier. Mais avant de commiter ce gabarit,
j'aimerai avoir votre avis sur : la claireté des commentaires, les
éventuelles erreurs que j'aurais pu commetre (inutile qu'elles soient
répercutées sur les futurs utilisateurs de ce plugin), et l'aspect
généraliste du gabarit (est-il suffisement généraliste ou trop
spécifique ?)

voila :slight_smile:

merci pour vos réponses.

edd.

voici le gabarit en question :
------------------------------

<?php

if (!defined("_ECRIRE_INC_VERSION")) return;

/* fonction appelée par l'url exec=[nom_objet]
* Pour passer des arguments à cette feuille, construisez des urls de
type :
* exec=[nom_objet]?arg_1=valeur_1&arg_2=valeur_2
*
* Cette fonction a pour but de récupérer les différents arguments
* et de les envoyer à la fonction de traitement des arguments
*/
function exec_[nom_objet]_dist() {

  /* pour récuperer vos arguments, utilisez la fonction _request('arg_1')
   * exemple :
   * exec_[nom_objet]_args(
   * _request('arg_1'),
   * _request('arg_2'),
   * intval(_request('arg_3') // pour les arguments numériques
   * );
   */

  exec_[nom_objet]_args(/* _request('arg_1'), _request('arg_2') */);
}

/* Cette fonction a pour but de traiter les arguments passés à la
feuille.
* Elle peut servir notemment pour rechercher d'autres informations à
partir d'un argument.
*
* Exemple, à partir de l'argument id_article, rechercher le titre, le
descriptif, etc ...
* et envoyer tout cela à la fonction principale
*
* Conseil : placez vos fonctions de récupération de données dans un
fichier "inc"
* et appelez ces fonctions içi.
* Un fichier "exec" ne devrait pas contenir d'appel direct à la base de
donnée,
* mais se contenter d'ordonner ces données.
*/
function exec_[nom_objet]_args( /* $arg_1, $arg_2 */ ) {

  /* vos traitements */

  [nom_objet]( /* $arg_1, $arg_2, $row */ );
}

/* Fonction principale de la feuille.
* Elle a pour but d'effectuer une présentation de vos données
*
* les fichiers qui pourrons vous être utile :
* include_spip('inc/filtres') => fonctions de traitements des données
avant affichage
* include_spip('inc/presentation') => fonctions de presentation (les
cadres par exemple)
*/
function [nom_objet]( /* $arg_1, $arg_2, $row */ ) {

  $commencer_page = charger_fonction('commencer_page', 'inc');
  echo $commencer_page("[nom_objet]","[prefixe]","[nom_objet]");

  if ($admin AND $connect_statut != "0minirezo") {
    echo _T('avis_non_acces_page');
    exit;
  }

  /* vos traitements */

  /* inclusion d'un formulaire :
   * $formulaire = charger_fonction('[prefixe]_nom/du/formulaire','inc');
   * echo $formulaire($arg);
   */

  echo fin_page();
}

?>

S'lt

Pour la gestion de doc, je te suggére de regarder du coté de doxygen
qui propose un syntaxe à la javadoc assez simple à prendre en main.
Cela donner un normalisme dans la redaction et qui aide à relire
rapidement en diagonale.

/*
@brief
@param
@return
*/

Tu as certains plugins qui le font deja.

Dans tous les cas tres bon de documenter son code, comme tu le fais

Km

S'lt

Je remet sur la zone.
Bah si la doc est pas bonne tu corrigeras par la suite. Et tu en
profiteras aussi pour le faire du http://doc.spip.org

:slight_smile:

Le 22 juillet 2008 13:35, edd <edd@no-log.org> a écrit :

ok merci, je n'y avait pas pensé, je vais ajouter cela.

mais sinon la description du fonctionnement d'un fichier "exec", me suis
pas planté ?

c'est principalement cela qui m'embete, je ne veux pas filer de mauvais
conseils & explications dans des fichiers générés automatiquement par le
plugin :slight_smile:

On mar, 2008-07-22 at 13:35 +0200, cam.lafit@azerttyu.net wrote:

S'lt

Pour la gestion de doc, je te suggére de regarder du coté de doxygen
qui propose un syntaxe à la javadoc assez simple à prendre en main.
Cela donner un normalisme dans la redaction et qui aide à relire
rapidement en diagonale.

/*
@brief
@param
@return
*/

Tu as certains plugins qui le font deja.

Dans tous les cas tres bon de documenter son code, comme tu le fais

Km

--
------------
-----
http://www.azerttyu.net (hébergement)
http://km.azerttyu.net (blog)
cam.lafit@azerttyu.net