Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2011, 11h40   #1
Futur Membre du Club
 
Inscription : mai 2010
Messages : 50
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 50
Points : 18
Points : 18
Par défaut Lire un commentaire dans un fichier PHP

Bonjour à tous,

Dans un développement actuel, je cherche à lire un commentaire dans un fichier avec PHP.
J'ai vu par exemple que WordPress lit, pour un template spécifique, le nom de ce template qui se trouve être commenté dans le fichier php lui-même.

Exemple:
Code :
1
2
3
4
5
6
 
/*
 
Template name : mon beau template
 
*/
Le nom du template apparaît donc comme "mon beau template" en backoffice.

Sauriez-vous comment je peux lire un commentaire dans mon fichier php ? Je pensais faire simplement un fopen et lire les quelques premiers caractères qui m'intéressent mais la longueur du nom à lire pouvant varier...
julien731 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 11h56   #2
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Je pense que c'est faisable avec des simples boucles.
Voici un algo:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Si je rencontre "/*" alors
   cpt = 1
fsi
 
while (cpt != 0)
si je rencontre "/*" alors
   cpt++
sinon si je rencontre "*/" alors
   cpt--
sinon
   com = caractère lu
fsi
fwhile
A améliorer bien sur mais l'idée est la!
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 11h58   #3
Membre Expert
 
Avatar de riete
 
Homme Thierry
NFC & DevWeb
Inscription : avril 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Nom : Homme Thierry
Âge : 51
Localisation : France

Informations professionnelles :
Activité : NFC & DevWeb
Secteur : Bâtiment

Informations forums :
Inscription : avril 2006
Messages : 1 175
Points : 1 366
Points : 1 366
fopen me parait une solution possible. Si les commentaires sont toujours de la même forme, il te faudra ensuite extraire les chaines entre "/*" et "*/" avec une preg_match().
Il y a deux choses qui me chiffonnent, 1/ les espaces dans le nom des fichier, 2/ l'absence d'extension .php.

Mais tu veux en faire quoi après?
riete est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 12h30   #4
Futur Membre du Club
 
Inscription : mai 2010
Messages : 50
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 50
Points : 18
Points : 18
C'est tout simplement pour récupérer le nom d'un template. Si je crée un template pour une page particulière de mon CMS, par exemple une page "Produits", je veux pouvoir obtenir le nom de ce template dans mon backoffice.
Ainsi, lors de la création d'une page produit, je choisis dans un select le nom du template adéquat.

Dans le cas d'une page produit, je veux pouvoir unclure dans le fichier php de mon template

Code :
1
2
3
/*
Template name : Page produit
*/
Ensuite dans le backoffice, plus qu'à sélectionner "Page produit" dans mon select.
julien731 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 13h12   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
si ton fichier PHP c'est une classe utilise Reflection
si ton fichier c'est juste du code utilise les tokens
si y'a un peu de tout utilise PCRE
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 13h32   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

je comprends pas pourquoi tu te casse la tête: la syntaxe doxygen c'est fait pour ça!

Read more: http://en.wikipedia.org/wiki/Doxygen

ça marche pour PHP, je documente tous mes projets avec ça. Si tu veux un exemple, la SPL est documentée de cette manière:
http://www.php.net/~helly/php/ext/spl/

Si c'est pour faire du templating, faire ça avec des commentaires c'est juste
Mon conseil: mets des meta informations à coté de tes fichiers template, ce sera moins hiddeux (à mon sens)
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h34.


 
 
 
 
Partenaires

Hébergement Web