Quindi ero entusiasta di saltare in alcuni Hacklang e HHVM, e dopo aver finalmente ottenuto di farlo funzionare su una VM CentOS 6 (consiglio: servergrove.com ha un RPM da un repository del loro, ma aveva ancora bisogno di librerie condivise con MySQL 5.0 - il più vicino possibile a una facile installazione di CentOS 6 però ...), pensavo che avrei affrontato un mio progetto PHP ragionevolmente piccolo come un buon banco di prova per la conversione in Codice Hack.HHVM - Come usare hh_client correttamente
Sto attraversando il codice, ma non credo di capire completamente come si suppone che hh_client funzioni. Ho creato un file .hhconfig
nella radice del mio progetto, quindi ho eseguito hh_client start
dalla directory e sembra avviarlo correttamente. Vedo dopo aver eseguito tre processi hh_server -d /var/www/html/groundwork
. Tuttavia, ogni volta che voglio digitare controlla il mio codice, devo eseguire un hh_client check
, dove la lingua utilizzata nei documenti e altre fonti continua a suggerire che questo dovrebbe essere un controllo in tempo reale che si alimenta automaticamente - Potrei eseguire un watch hh_client check
Immagino, ma sembra che mi manchi qualcosa.
ho fatto in modo di ottenere una copia dei file HHI come suggerito da Common php functions in hack
Inoltre, a volte quando inizio hh_client segnala roba che un controllo subito dopo non lo farà, pur non cambiare nulla nel codice. Il controllo è spesso meno errori. L'interruzione e l'avvio di hh_client vengono nuovamente riportati di nuovo.
Grazie.
C'è anche uno per emacs: https://github.com/facebook/hhvm/blob/master/hphp/hack/editor-plugins/emacs/hack-for-hiphop.el. Per quanto riguarda il motivo per cui alcuni errori scompaiono dopo un controllo incrementale, ha a che fare con il modo in cui la modalità incrementale funziona e il modo in cui cerchiamo di evitare errori a cascata. Fondamentalmente alcune classi di errori possono mascherare gli altri, ma come esattamente ciò può accadere può variare. Se il controllore dice "nessun errore", allora non ci sono errori; ma se ci sono errori, potrebbero non essere * tutti * gli errori. –
Ok grazie ragazzi. Di solito sto sviluppando in Windows da remoto, quindi un plugin Vim non sarebbe la mia prima scelta, ma lo controllerò comunque. E Josh, grazie per la spiegazione incrementale, ha senso almeno ora! – ndavison