我使用命令行中的PHP,並試圖將數據嵌入到源代碼文件中。我可以在Ruby中使用__END__
構造,在Perl中使用__DATA__
構造,但我似乎無法找到在PHP中使用它的方法。目標是能夠將數據嵌入到PHP文件中,然後在執行過程中將數據讀入數組進行處理。我怎樣才能在PHP中做到這一點?由於數據和文件執行的設置方式,將數據包含在單獨的文件中並不是一個好的選擇。在PHP中等效於Ruby的`__END__`或Perl的`__DATA__`構造
6
A
回答
7
您可以使用__halt_compiler()
其目的是,正如其名字,正是制止編譯器用於將數據嵌入到文件的剩餘部分的目的。
一個基本的例子將是:
<?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!"}
的輸出,正如人們所期望,是hello, __halt_compiler!
3
您可以使用__halt_compiler()並在該行代碼之後嵌入數據。文檔中有一個很好的例子。
4
使用__halt_compiler()
結構:
<?php
echo 'hello!';
__halt_compiler();
echo 'bar''; this will not cause a parse error
相關問題
- 1. 是否有Perl的__DATA__段的C++等效(或等效技術)?
- 2. 等效於PHP的list()的JavaScript構造?
- 3. 在Ruby中等效於PHP的dirname(__ FILE__)?
- 4. 等效於.NET的構造函數
- 5. Perl的等效PHP的strtotime()?
- 6. Perl的等效PHP的preg_callback
- 7. PHP的escapeshellarg的Perl等效
- 8. PHP的等效Perl的TIE
- 9. C++中的Infile Handle(Perl中的ala __DATA__)
- 10. Python等效於Ruby的#each_cons?
- 11. Ruby的|| =(或等於)在JavaScript中?
- 12. PHP中的Ruby IO的等效項
- 13. Scala等效於Ruby中的ActiveSupport的Object.try
- 14. PHP QuickForm等效於Ruby on Rails
- 15. Scala中Ruby的instance_eval等效於構建DSLs
- 16. 在JavaScript中等效於PHP的dirname(__ FILE__)?
- 17. 類似語言功能用Perl和Ruby __END__比較
- 18. perl中的方法構造
- 19. 在Perl中構造框架
- 20. NSArray的valueForKey:等效於PHP
- 21. PHP等效於Python的repr()
- 22. Python的os.execvp等效於PHP
- 23. 等效於php的stream_context_create
- 24. PHP等效於Python的`urljoin`
- 25. PHP的strstr()等效於JavaScript
- 26. 對於類/構造函數,functools'partial'的python等效
- 27. 讀取在__DATA__格式的輸入文件中的Perl
- 28. char.IsLetterOrDigit等效於php
- 29. Url.Content()等效於php?
- 30. PHP等價於Perl行嗎?
**參見**:http://stackoverflow.com/questions/2059713 – dreftymac