Mi piace la sintassi HEREDOC, ad es. per i casi limite di HTML generato che non meritano di essere inseriti in un modello.HEREDOC che interferisce con il rientro del codice
L'unica cosa che mi infastidisce, tuttavia, è il contenuto, e il marker di chiusura di una stringa heredoc aderisce alla prima colonna. Questo svita i layout di codice nidificati:
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();
...
...
...
si vede cosa intendo.
Ora questo probabilmente non è risolvibile utilizzando il normale HEREDOC. Qualcuno ha lavorato intorno a questo? Il mio sogno sarebbe avere la sintassi HEREDOC con indentazione automatica. Ma immagino che questo non sia possibile senza scrivere un pre-compilatore per i file sorgente.
Sono corretto?
Sì, incluso un altro file porta troppa confusione ... Sto pensando di creare un "pre-compilatore" come LESS per CSS, ma sembra troppo sforzo (e un ulteriore passaggio) per un guadagno troppo basso . Peccato! –
Usare un qualche tipo di "pre-compilatore" significherebbe anche che il codice che scrivi e vedi * (nel tuo IDE/editor) * non è il codice che viene eseguito - e questa sarà fonte di confusione, un giorno o l'altro ... –
Off-topic: suggerisco di usare un editor che abbia capacità di analisi decenti per il codice di auto-indent. I buoni IDE (come PhpStorm) non ti permettono di indentare i tag di chiusura HEREDOC anche quando scrivi in modo esplicito delle schede. – TheOperator