une fonction perso non reconnue - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : une fonction perso non reconnue (/showthread.php?tid=5134) |
une fonction perso non reconnue - gameprog2 - 11-09-2010 Salut En php j'ai besoin d'un peu d'aide :
L'erreur me dit : Citation :Fatal error: Call to undefined function testvulgaire() in C:\Program Files\EasyPHP-5.3.3\www\tests.php on line 6 Bon je comprend que c'est un appel à une fonction non reconnue mais pourquoi ? vu que cette fonction existe avec la même orthographe dans le fichier inclu : "testmots.php" RE: une fonction perso non reconnue - Sephi-Chan - 11-09-2010 Colle le contenu du fichier testmots.php. Sephi-Chan RE: une fonction perso non reconnue - gameprog2 - 11-09-2010 Ok
RE: une fonction perso non reconnue - Sephi-Chan - 11-09-2010 Tu n'ouvres pas le tag PHP dans ton fichier inclus ? Sephi-Chan RE: une fonction perso non reconnue - gameprog2 - 11-09-2010 LOL Merci Séphy EDIT : Bon ça me dit la même chose :/
mince le premier tag est mal ecris lol C'est bon c'est ok RE: une fonction perso non reconnue - niahoo - 11-09-2010 N'as tu jamais entendu parler de l'indentation ? RE: une fonction perso non reconnue - gameprog2 - 11-09-2010 si, c'est le décalage des instructions sur le code, mais là c'est le forum qui affiche comme ça Dans mon fichier c'est indenté RE: une fonction perso non reconnue - Sephi-Chan - 11-09-2010 Du coup ça fonctionne ou pas ? Sephi-Chan RE: une fonction perso non reconnue - gameprog2 - 11-09-2010 Citation :C'est bon c'est okSi si, ça fonctionne bien, merci Sephy RE: une fonction perso non reconnue - Sephi-Chan - 11-09-2010 Il n'y a pas de Y dans mon pseudo. Par contre, j'en profite pour te donner quelques conseils pour améliorer la qualité de ton code.
Par ailleurs, je te conseille de développer en anglais uniquement (le mélange des langues au sein du code source est une mauvaise chose pour la lisibilité). De plus, reformuler dans une autre langue est souvent un bon moyen de cerner si le nom d'une variable est bonne. Prenons ta fonction ligne, par exemple (simplement réindenté) :
Déjà, la fonction est mal nommée puisqu'en français. De plus, on ne distingue pas les mots. Tu peux utiliser la notation camelCase ou underscore, qui donnent repséctivement testVulgaire et test_vulgaire. Un bon nom serait isVulgar ou is_vulgar. Ta variable $result est mal nommé, déjà elle est en anglais alors que le reste de ton code est en français (tout devrait être en anglais), ensuite, elle n'indique pas du tout ce qu'elle contient. Ensuite, le fichier est mal nommé, salmots ne veut rien dire. Enfin, le commentaire est inutile : bien sûr qu'on sait ce que va contenir le fichier. Ensuite, les lignes suivantes sont trop commentées : tout le monde sait ce que fait in_array et sait lire un if : tu réduis la lisibilité de ton code. Enfin, in_array renvoie déjà un booléen, donc tu peux l'utiliser directement comme ta valeur de retour. Voici un bon refactoring de ta fonction :
C'est beaucoup plus concis et lisible que tout le baratin qu'il y avait avant : le code est de meilleur qualité. Ce serait bien que tu fasses la même chose avec ton autre fonction, qui n'est pas bonne pour toutes les raisons expliquées plus haut, mais également parce qu'elle a plusieurs rôles : mieux vaut la découper en plusieurs fonctions plus petites. La fonction pour déterminer si le mot est plus court qu'une longueur donnée :
Sephi-Chan |