J'utilise PHP depuis la ligne de commande et j'essaie d'intégrer des données dans un fichier de code source. Je peux le faire dans Ruby en utilisant la construction __END__
et en Perl en utilisant la construction __DATA__
, mais je n'arrive pas à trouver un moyen de le faire en PHP. L'objectif est de pouvoir intégrer des données dans le fichier PHP, puis, pendant l'exécution, de lire les données dans un tableau pour le traitement. Comment puis-je faire cela en PHP? L'inclusion des données dans un fichier séparé n'est pas vraiment une bonne option en raison de la façon dont les données et l'exécution du fichier sont configurées.Construction équivalente en PHP à `__END__` de Ruby ou` __DATA__` de Perl
6
A
Répondre
7
Vous pouvez utiliser __halt_compiler()
dont le but est, comme son nom l'indique, arrêter le compilateur précisément dans le but de incorporation de données dans le reste du fichier.
Un exemple de base serait:
<?php
// Do something boring here
$data = file_get_contents(__FILE__, FALSE, NULL, __COMPILER_HALT_OFFSET__);
$obj = json_decode($data, TRUE);
echo $obj['message'];
__halt_compiler();
{"status":"example", "message":"hello, __halt_compiler!"}
La sortie, comme on pouvait s'y attendre, est hello, __halt_compiler!
3
vous pouvez utiliser __halt_compiler() et intégrer des données après cette ligne de code. Il y a un excellent exemple dans la documentation.
4
Utilisez la __halt_compiler()
construction:
<?php
echo 'hello!';
__halt_compiler();
echo 'bar''; this will not cause a parse error
Questions connexes
- 1. caractéristiques linguistiques similaires à comparer avec Perl et Ruby __END__
- 2. Est-ce que Perl6 supporte quelque chose d'équivalent aux sections __DATA__ et __END__ de Perl5?
- 3. Construction JavaScript équivalente à la liste de PHP()?
- 4. Lecture d'un fichier d'entrée au format __DATA__ en Perl
- 5. Question équivalente en PHP
- 6. Fonction équivalente à la to_i de Ruby (36) en Javascript
- 7. Construction de la méthode en perl
- 8. scénario cURL en PHP ou Python, Perl
- 9. la méthode équivalente de get_eval en Sélénium Ruby WebDriver
- 10. Android: Tâche ou application équivalente à onPause
- 11. Comment puis-je utiliser __DATA__ deux fois?
- 12. Conversion de Perl en Ruby (tableaux multidimensionnels)
- 13. Répétition jusqu'à boucle ou équivalente en Python
- 14. Comportement inattendu lors de l'utilisation Tie :: File sur __DATA__
- 15. Problème d'efficacité lors de la construction de csv en perl
- 16. Portage Perl substitution de chaîne à Ruby?
- 17. Veuillez introduire une bibliothèque multi-traitement en Perl ou Ruby
- 18. Fonction d'arrondi d'Excel équivalente en php
- 19. Expression C#, équivalente au code de bloc sandwich de ruby
- 20. Convertir Perl en Ruby Regex
- 21. Construction d'un analyseur de balisage en php
- 22. Extraire zip avec barre de progression en PHP ou RUBY
- 23. Construction d'un arbre de mots-clés en utilisant perl
- 24. Existe-t-il une bibliothèque équivalente SOAP :: Lite dans ruby?
- 25. Construction surchargée en php?
- 26. Que signifie cette construction, en Ruby?
- 27. Appel de perl à partir de php?
- 28. Execute perl en PHP
- 29. Utilisation de chomp() en Perl
- 30. Script Perl en PHP
** Voir aussi **: http://stackoverflow.com/questions/2059713 – dreftymac