Comment puis-je savoir dans quel fichier et quelle ligne une fonction donnée a été définie?
109
Vous pouvez également le faire en PHP lui-même:
$reflFunc = new ReflectionFunction('function_name');
print $reflFunc->getFileName() . ':' . $reflFunc->getStartLine();
$reflFunc->isInternal() === TRUE
signifie -> getFileName () et -> getStartLine () renverra FALSE.$reflFunc = new ReflectionMethod($this, 'method_name');
Utilisez soit un IDE qui le permet (je recommanderais Eclipse PDT), soit vous pouvez toujours le grep si sur Linux, ou en utilisant wingrep. Sous Linux, ce serait quelque chose comme:
depuis le dossier racine du projet.
la source
Si vous utilisez un IDE comme Netbeans, vous pouvez CTRL + Cliquez sur la fonction utilisée et elle vous mènera à l'endroit où elle est définie, en supposant que le fichier se trouve dans le dossier de projet que vous avez défini.
Il n'y a cependant pas de code ou de fonction pour faire cela.
la source
Je suppose que par «décrit», vous voulez dire «défini». Pour cela, vous avez idéalement besoin d'un IDE décent qui peut le faire.
la source
Voici une fonction de base qui analysera l' ensemble de vos fichiers de projet pour une chaîne spécifique et vous indiquera dans quel fichier il se trouve et à quelle position de caractère il commence en utilisant uniquement le php de base. J'espère que cela aide quelqu'un ...
la source
une autre façon de vérifier où est la fonction définie, essayez de redéfinir la fonction, le système d'erreur PHP retournera simplement une erreur vous indiquant où la fonction précédemment définie
la source
J'aime la solution de Tom, alors j'ai pensé que je pourrais partager un peu plus d'astuces avec ReflectionFunction (cela devrait fonctionner sur chaque PHP 5):
une ligne pour imprimer le nom de fichier:
Veuillez noter qu'il ne vous montrera pas l'emplacement des fonctions internes (telles que _ ), mais il peut toujours imprimer l'API comme ci-dessous.
pour imprimer la définition et les paramètres de la fonction:
Exemple:
la source
Vous aurez besoin d'un IDE prenant en charge la fonctionnalité «Open Function Declaration». Un bon pour php est Eclipse PDT.
Pour rechercher la définition de la fonction, mettez en surbrillance le nom de la fonction, maintenez CTRL + Cliquez sur le nom.
la source