2014-05-09 15 views
5

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.

risposta

8
+2

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. –

+0

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

1

Se si utilizza questo su Mac OSX 10.10 si devono usare Vagrant. Se si sta utilizzando Vagrant e si importano i file dalla macchina locale nella casella vagabonda, hh_client non rileva le modifiche. Per risolvere questo problema è possibile accedere alla casella vagabonda in un altro terminale ed eseguire quanto segue.

Alcune settimane fa brew not può installare hhvm sul tuo mac. Questo non dovrebbe più essere necessario.