Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Nicco
2007-08-19 03:03:47

sinon j aime bien ton idee de sous fonction install

Nicco
2007-08-19 02:58:01

la class te permet de definir des chose qui seront propre qu a cette class et donc evite les redeclaration !

pour notre probleme ce n est pas particulierement la solution mais vu qu on reparle de la maniere correcte de faire un plugin autant en parler

flop25
2007-08-18 19:16:21

ça c'est mieux que ton pansement !

ça je suis d'acc : les class restant tout de même une solution, chacun ses préférences ^^

P@t
2007-08-18 18:07:42

Je ne vois pas qui peut etre ce petit gars... ;-)

Mais je ne comprends toujours pas l'interet de la class puisqu'il faudra de toute facon redefinir une fonction identique à la fonction plugin_install dans la class, non?
Donc à ce moment la, autant créer directement une fonction identique à la fonction plugin_install dans un fichier functions.inc.php... Ou alors, créer une fonction spécifique pour l'installation de chaque plugin, et qui sera appelée au debut du main.inc.php si la config est incorrecte, ET par la fameuse fonction plugin_install... la encore, la class est inutile.

Exemple pour ComOnIndex:

Dans un fichier functions.inc.php

function comonindex_install ()
{
    --- code d'installation ---
}


Dans le fichier maintain.inc.php

include_once( dirname(__FILE__) . '/functions.inc.php' );

function plugin_install ()
{
    comonindex_install ();
}


Dans le fichier main.inc.php

if ((!isset($conf['comonindex'])) or (substr_count($conf['comonindex'] , ',') != 7)) {
     $conf['comonindex'] = '5,on,,,20,norm,default,';
     include_once( dirname(__FILE__) . '/functions.inc.php');
         comonindex_install();
}

Dites-moi si je me trompe, car les class, c'est pas (encore!) mon truc...

Nicco
2007-08-18 17:35:15

je confirme ... c est l utilisation de class qu il faut ...

d ailleurs je me souvient des premieres verisons de mais plugins etaitent avec des class ... et un petit gars m a dit :

bahhh pourquoi tu mets dans des class c est bien trop lourd ... et moi hopp j ai retiré les classes  ;o)

P@t
2007-08-18 15:58:16

Hum... ayant appris le php il y a à peine 2 mois, je ne maitrise pas encore bien les class...
Va quand meme falloir que je m'y mette un de ces 4.

Mais ca me parait quand meme bien lourd pour ca...
Je vais garder ma première solution pour mes plugins ComOnIndex et MostCommented

flop25
2007-08-18 13:43:37

l'utilisation de class :

dans main.inc

include_once(dirname(__FILE__).'/class.inc.php');

add_event_handler([...]

$[nom_du_plug] = new[nom_de_la_class_du_plug]($plugin_name, [toute les var nécessaire au plug...]
set_plugin_data($[nom_du_plug]->plugin_name, [remplissage de toute les var nécessaire au plug...]

dans class.inc.php

class [nom_de_la_class_du_plug]
{
  var $plugin_name, [reprise de toute les var nécessaire au plug...]
 
  function init()
  {
[reprise de l'install]
  }

  function bidon()
  {
    $this->init();//appel de la function init()

  }

}

P@t
2007-08-18 12:57:15

Hum... ca me parait bien lourd de devoir redéfinir la fonction install...
Je préfère perso le pensement, vu que de toute facon, l'appel à la fonction plugin_install est déjà un pensement qui est la vraiment au cas ou... et pour que 2 plugins l'appellent, c'est vraiment extrement rare....

Tu proposerais quoi exactement comme code flop?

flop25
2007-08-18 12:37:49

ça peut certainement marché, mais c'est du pansement : la class et la copie de la fonction install dans cette class est plus propre

P@t
2007-08-18 12:29:54

Ah oui, je n'avais pas prévu ca...
On peut éventuellement rajouter un !function_exists pour le cas ou 2 plugins necessitent un rappel à la fonction install...
Ainsi, le 2e plugin se réinstallera au 2e chargement, c'est pas bien grave.... puisque dans le code de vérification, j'avais rajouté justement un $conf['plugin'] = xxx

Exemple pour ComOnindex:

Code:

// Vérification de la config, si pas bon -> reinstallation
if ((!isset($conf['comonindex'])) or (substr_count($conf['comonindex'] , ',') != 7)) {
   $conf['comonindex'] = '5,on,,,20,norm,default,';
   if (!function_exists('plugin_install')) {
      include_once( COMONINDEX_PATH . 'maintain.inc.php');
      plugin_install();
   }
}

Ca vous va?

flop25
2007-08-18 12:16:11

flop25 a écrit:

moi pas de problème : sinon comme solution, il vaudrait mieux faire une copie de la fonction install et la renommer.

Mieux !! utiliser les class comme préconisé dans le wiki et utiliser par certain (notamment moi-même ds adult_content)

flop25
2007-08-18 12:10:13

ha ouais ^^ la jolie page blanche !!

Ps : et pourtant ça désactive bien ?!

flop25
2007-08-18 11:59:47

c'est bien parce que c'est toi ^^

sakkhho
2007-08-18 11:41:01

flop, installe smilies support et essai de désactiver ComOnIndex ...

flop25
2007-08-18 11:25:44

moi pas de problème : sinon comme solution, il vaudrait mieux faire une copie de la fonction install et la renommer.

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact