Estoy usando PHP desde la línea de comandos y estoy tratando de incorporar datos en un archivo de código fuente. Puedo hacerlo en Ruby usando el constructo __END__
y en Perl usando el constructo __DATA__
, pero parece que no puedo encontrar la forma de hacerlo en PHP. El objetivo es poder incrustar datos en el archivo PHP, y luego durante la ejecución, leer los datos en una matriz para su procesamiento. ¿Cómo puedo hacer esto en PHP? Incluir los datos en un archivo separado no es realmente una buena opción debido a la forma en que se configuran los datos y la ejecución del archivo.Constructo equivalente en PHP al `__END__` de Ruby o al` __DATA__` de Perl
6
A
Respuesta
7
Puede utilizar __halt_compiler()
cuya finalidad es, como su nombre lo dice, detener el compilador precisamente con el fin de insertar datos en el resto del archivo.
Un ejemplo básico sería:
<?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 salida, como cabría esperar, es hello, __halt_compiler!
3
puede usar __halt_compiler() e incrustar datos después de esa línea de código. Hay un excelente ejemplo en la documentación.
4
Utilice la __halt_compiler()
construcción:
<?php
echo 'hello!';
__halt_compiler();
echo 'bar''; this will not cause a parse error
Cuestiones relacionadas
- 1. PHP equivalente al símbolo de Ruby
- 2. ¿Perl6 admite algo equivalente a las secciones __DATA__ y __END__ de Perl5?
- 3. ¿Tiene php un equivalente al virtualenv de python o al sandbox de ruby?
- 4. ¿Existe un concepto de programación funcional equivalente al operador de flip-flop en Perl o Ruby?
- 5. ¿Hay un equivalente de Ruby al extracto de PHP?
- 6. C# equivalente al símbolo Ruby
- 7. Apache, mod_ *, PHP, Perl, Python, Ruby; Aprendiendo al revés
- 8. Python equivalente de Perl/Ruby || =
- 9. Ruby equivalente al "dir" de Python?
- 10. equivalente en Perl de get_file_contents() de PHP
- 11. equivalente de Perl de `rechazo!` De Ruby?
- 12. Ruby equivalente de Perl Data :: Dumper
- 13. ¿Hay un python equivalente al módulo arrancador de perl?
- 14. ¿Hay un equivalente al depurador de perl 'x' en pdl2 (o Devel :: REPL)?
- 15. Perl equivalente de preg_callback de PHP
- 16. ¿Hay un equivalente al Proceso de C#. Comienza en PHP?
- 17. ¿Cuál es el equivalente de Python al "inspeccionar" de Ruby?
- 18. PHP equivalente al método C# string.IsNullOrEmpty?
- 19. ¿PHP tiene un equivalente al operador || =?
- 20. Perl equivalente a escapeshellarg de PHP
- 21. Coincidencia de patrones Perl al utilizar matrices
- 22. PHP equivalente de PyQuery o Nokogiri?
- 23. Perl equivalente a PHP bucle foreach
- 24. Ruby equivalente a PHP $ this
- 25. ¿Cuál es el equivalente de C# al "self ::" de PHP?
- 26. PHP equivalente al registro lento de consultas de MySQL?
- 27. PHP equivalente de amigo o interno
- 28. ¿Cuál es el equivalente en Perl de $ _SERVER de PHP [...]?
- 29. ¿Cuál es el ASP.Net equivalente al eco de PHP?
- 30. ¿Existe un equivalente de print_r de PHP en Ruby/Rails?
** ** Ver también: http://stackoverflow.com/questions/2059713 – dreftymac