Page 1 sur 2
preprocessing en PHP ?
Posté : 12 juin 2008, 09:57
par psgkiki
Bonjour a tous,
J'aimerais savoir s'il existe une phase de preprocessing en PHP.
Si oui, quel fichier est associé à cette phase (par exemple cpp pour le langage C).
Si non, est-il possible d'en créer un ?
Merci pour votre réponse.
Cordialement
Posté : 12 juin 2008, 10:40
par Berzemus
oui.
Et le comment s'obtient en allant sur google, et en entrant "preprocessing php".
On peut même aller sur "j'ai de la chance", puisque le premier résultat fournit déjà une belle aide. En anglais, ceci dit.
Et je n'en sais pas plus.
Posté : 12 juin 2008, 10:43
par psgkiki
La question que je me posais c'est que PHP est un langage interpreté et non compilé (j'ai vu cette même phrase sur un autre forum).
C'est pour cela que je me demandais s'il existait une phase de preprocessing en PHP.
C'est ce site là que tu me parles :
http://wickedphp.net/ ????
Merci
Posté : 12 juin 2008, 11:04
par Berzemus
ah, question simple, réponse simple:
Php est compilé, mais très rapidement et juste quant on appelle la page ("on the fly", comme on dit ailleurs). Il y a moyen de garder le script compilé en mémoire pour éviter la recompilation lors du prochain appel, et ainsi gagner un peu de vitesse d'exécution (cache opcode).
Curieuse façon de détourner la question ceci dit
Je me demandais déjà à quoi pouvait servir du preprocessing en php, puisque comme l'auteur de wicked le dit:
As of right now, I cannot come up with any practical use for preprocessing PHP, but I thought the trick was wholly shareable.
Posté : 12 juin 2008, 11:29
par psgkiki
donc si il existe une phase de préprocessing en PHP, quel fichier fait cela (en C c'est le fichier cpp) ??
Posté : 12 juin 2008, 13:39
par savageman
Oui c'était moi sur l'autre forum :-°
Ce truc utilise un compilateur C++ pour émuler le préprocessing.
Lorsque le fichier ex éxécuté, seule la partie avant __halt_compiler() est exécutée.
Celle-ci prend le même fichier, le passe à la moulinette du compilateur C++ pour le préprocessing et l'enregistre avec un "c" en plus dans le nom du fichier. Au final, ce fichier précompilé est inclut, et donc exécuté (seulement la partie après __halt_compiler(), car le préprocesseur a enlevé ce qu'il y a avant...).
C'est un trick et non pas une fonctionnalité du langage : tu auras en effet besoin d'un compilo C++ externe et tu auras besoin d'avoir les droits d'éécution sur le système avec la fonction exec (si t'as pas de serveur dédié, oublie).
Posté : 12 juin 2008, 13:57
par psgkiki
Ok merci.
En fait c'est mon sujet de stage. Pour être plus explicite :
Je dois créer un programme qui va générer plusieurs fichier HTM ayant la même structure. Seulement, ce programme devra consulter dans une BDD ou un fichier EXCEL (comprenant x nom de photos avec légende et titre) et pour chaque ligne présente, il créera un fichier HTM avec la photo (présente dans un dossier), son titre et sa légende. Cela doit être un programme qui génère tout cela.
Or, moi je ne suis qu'en stage, cela veut dire qu'une personne (ne s'y connaissant peut-être pas en PHP ...) va s'en servir donc il faut qu'il soit le plus facilement modifiable.
C'est pour cela que l'on m'a demandé de me renseigner sur le préprocessing PHP pour éventuellement créer des macros-instructions pour faciliter la tâche à la personne. Elle aura juste à rentrer quelques mots clés et grâce aux macro-instructions, le programme fera tout le reste.
Voilà en gros ce que je voudrais faire.
Ai-je été compréhensible ?
Cordialement
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]
Posté : 12 juin 2008, 15:06
par mcorgnet
PHP, ça veut pas dire un truc du genre :
Hypertext Pre Processor
?
Posté : 12 juin 2008, 15:31
par psgkiki
Pour encore un peu plus de précision, je voudrais en gros créer mon propre langage quoi.
Quand la personne rentrera par exemple dans le fichier :
nouveau_fichier(test.txt) et bien le programme à la compilation va créer la fichier à l'aide de la fonction fopen par exemple.
Dans quel fichier sont défini les fonction fopen, fwrite, echo .....
Posté : 12 juin 2008, 15:33
par Berzemus
PHP, ça veut pas dire un truc du genre :
Hypertext Pre Processor
?
ouaip, je crois qu'en fait il y a une profonde incompréhension de ce que peut faire php..
Tout ce que tu veux faire est parfaitement faisable avec PHP. Une petite interface web pour faire joli et facile, quelques liens ODBC ou autres vers les sources, et des droits sur l'un ou l'autre répertoire pour la création des fichiers..
Posté : 12 juin 2008, 15:36
par psgkiki
PHP, ça veut pas dire un truc du genre :
Hypertext Pre Processor
?
ouaip, je crois qu'en fait il y a une profonde incompréhension de ce que peut faire php..
Tout ce que tu veux faire est parfaitement faisable avec PHP. Une petite interface web pour faire joli et facile, quelques liens ODBC ou autres vers les sources, et des droits sur l'un ou l'autre répertoire pour la création des fichiers..
Merci pour votre aide, mais dans quel fichier je pourrais écrire mon propre langage ? dans quel fichier sont définies toutes les fonctions PHP ?
Posté : 12 juin 2008, 16:44
par Berzemus
hmm.. qu'entends-tu par "ton propre langage" ?
Et pour mieux te guider (et pourquoi pas donner des exemples) pourrais-tu mieux préciser ce que tu cherches à faire ?
Et pour mieux pouvoir t'expliquer ce que php est réellement, peut-etre pourrais-tu décrire comment toi tu vois php.
Posté : 12 juin 2008, 16:54
par psgkiki
bah en fait créer mes propres fonctions en fait :
par exemple, la fonction nouveau-fichier(nomfichier, extension) utilisera fopen...
Cela permettra à un utilisateur qui ne connai pas PHP, d'avoir des fonctions de base compréhensibles.
Posté : 12 juin 2008, 16:58
par katagoto
C'est en C, je penses que si tu analyse le code source, le noyau ne contient pas les fonctions je crois, tu trouvera ton bonheur...
Si j'ai bien compris, ton but est de chager tout les noms de PHP, pour que les francophones soient plus alaise ?
Posté : 12 juin 2008, 17:06
par Vurtu
Tu peux faire ça par PEAR
Plus d'infos ici :
http://pear.php.net/manual/fr/