J'ai écrit du code qui crée un blog générique.Rendre mon code facile à écrire des plugins pour
Ses caractéristiques sont simples, créer un message, modifier et supprimer le message et autoriser les commentaires.
J'essaie de l'écrire pour qu'il soit très facile d'écrire des plugins, mais je ne suis pas sûr de la meilleure approche.
Certaines de mes idées:
Demandez à l'auteur du plugin écrire un script court appelé par exemple « config » dans lequel ils ont un tableau qui a l'application (par exemple frontend, admin, etc.), le module (par exemple le blog , profil, etc) et les actions (par exemple créer, éditer, etc) que leur plugin affecte, puis inclure les fichiers plugin lorsque l'action correcte est exécutée.
//example array in config.php: array( 'application' => 'admin', 'module' => 'blog', 'action' => array('create','edit') );
ajouter des chaînes dans le code de vues telles que « {form-extras} » et que l'auteur du plugin dire quelle chaîne il le code remplacera. Ensuite, utilisez str_replace pour remplacer le {xxx} par le code du plugin.
#example code in blog_form.php <input type="text" name="blog_title" /> <input type="text" name="blog_text" /> {form-extras} #example code in plugins config.php array( 'replace' => array('form-extras') );
Ces deux idées sont assez nul et très limités dans leur utilisation, mais je me bats pour trouver une meilleure idée.
Je ne suis pas sûr combien d'informations au sujet de mon peuple de code ont besoin, mais la structure de répertoire de base est simple, voici un exemple:
apps //applications
frontend //app name
modules
blog
views
index.php //list blogs
new.php //create new blog post
actions.class.php
admin
modules
blog
views
index.php //list blogs
new.php //create new blog post
actions.class.php
lib //library of classes like database class
plugins //where plugins will hopefully be installed
web //where the site runs e.g index.php, all the css and js
La question
Est-ce que quelqu'un sait de tout tutoriels/articles sur comment rendre le code facile à écrire pour les plugins, ou est-ce que quelqu'un a des méthodes testées que je pourrais appliquer?
Cordialement
Luc
Merci pour l'exemple de code Daniel , serait-ce une idée viable d'avoir une sorte d'appel comme vous avez dans vos boucles foreach dans les fonctions de construction et de destruction des classes d'actions de base? De cette façon, ils seraient toujours appelés au tout début et à la fin de tout code dans la classe? Merci d'avoir pris le temps d'écrire l'exemple ci-dessus avec autant de documentation, c'est très clair. – Luke
Mon code est juste un exemple, n'est pas la vraie façon dont le crochet de drupla fonctionne (vous devez vraiment donner à les regarder dans la documentation drupal). Certains hooks «remplacent» simplement les fonctions de base, d'autres fonctionnent comme une «vérification», si la fonction hook renvoie true, la fonction de base est exécutée, sinon, pas. Ceci est juste une ligne directrice, tout dépend de vos besoins spécifiques. – Strae
Merci Daniel, des références et des commentaires utiles, j'ai été creuser à travers le code Drupal et son été très utile. À votre santé – Luke