我喜歡HEREDOC語法,例如,對於不值得放入模板的生成HTML的邊緣情況。HEREDOC干擾代碼縮進
然而,唯一讓我惱火的是,內容和heredoc字符串的結束標記符合第一列。這擰了嵌套的代碼佈局:
class myclass
{
function __construct()
{
$a = some_code();
$b = some_more_code();
$x = <<<EOT
line1
line2
line3
line4
EOT;
$c = even_more_code();
$b = still_more_code();
...
...
...
你明白我的意思。
現在,這可能無法使用正常的HEREDOC解決。有沒有人解決這個問題?我的夢想是擁有帶自動縮進的HEREDOC語法。但是我想如果不爲源文件編寫一些預編譯器,這是不可能的。
我正確嗎?
是的,包括另一個文件帶來了太多的困惑......我正在考慮爲CSS構建一個類似LESS的「預編譯器」,但似乎太多的努力(和一個額外的步驟) 。太糟糕了! –
使用某種「預編譯器」也意味着您編寫和看到*(在您的IDE /編輯器中)*的代碼不是執行的代碼 - 這將成爲混淆的來源,有一天或另一天... –
焦慮問題:我建議使用具有良好解析能力的編輯器來自動縮進代碼。良好的IDE(如PhpStorm)不會讓您縮進HEREDOC結束標籤,即使在明確寫入標籤時也是如此。 – TheOperator