Jak je na tom Nette s podporou HHVM?
- mrtnzlml
- Člen | 140
Jak je na tom Nette v kombinaci s HHVM? Jsem si vědom toho, že dříve se
proti HHVM Nette testovalo, ale to už není
úplně pravda – jen někde. Hack mě poslední dobou zajímá více a
více a chci v něm napsat aplikaci. Pochopil jsem, že není vše 100 %
kompatibilní, ale zatím jsem narazil pouze na pár drobných upozornění při
hhvm.php7.all = true
. Používáte někdo, nebo se to
nedoporučuje? Případně má smysl posílat PR se zaměřením na vyřešení
kompatibility?
- Blujacker
- Člen | 89
Ja jsem se na to nedavno ptal na gitteru – nefungovalo mi na hhvm submitovani formulare – pry to je kvuli nekompabilite – https://gitter.im/nette/nette/cs?… + https://gitter.im/nette/nette/cs?…
- mrtnzlml
- Člen | 140
@Blujacker Jo na to si pamatuju, ale zkoušel jsem to a funguje mi to
dobře. ContactFormFactory
:
public function create((function (UI\Form, Nette\Utils\ArrayHash): void) $onSuccess): UI\Form
{
$form = $this->factory->create();
$form->addText('email')->setRequired();
$form->addSubmit('Send');
$form->onSuccess[] = function (UI\Form $form, $values) use ($onSuccess) {
$onSuccess($form, $values);
};
return $form;
}
Použití v presenteru:
public function createComponentContactForm(): UI\Form
{
return $this->factory->create(function(UI\Form $form, Nette\Utils\ArrayHash $values) {
dump($values->email); //OK
dump($values);exit; //OK
});
}
Takže s tímto problém nemám.
Editoval mrtnzlml (18. 6. 2016 23:33)
- enumag
- Člen | 2118
Jediná věc na kterou na travisu neustále narážím je tahle chyba:
Fatal error: Unpacking unsupported for calls to functions that take any arguments by reference in
...vendor/nette/utils/src/Utils/Callback.php on line 98
https://github.com/…s/issues/110
Editoval enumag (19. 6. 2016 8:53)
- mrtnzlml
- Člen | 140
@enumag Také jsem na tento problém narazil, ale to je problém staré verze HHVM. V nové už je to v pořádku (failuje mi test protože Polymer, nikoliv nekompatibilita). Nechá se to opravit takto. Nevýhoda je, že takto se na Travis musí čekat nekonečně dlouho, než se konečně spustí. Ale tak to se dá vyřešit nepoužíváním Travisu (pokud ti to vadí)… :)
- enumag
- Člen | 2118
@mrtnzlml Pěkný. Co na tom trvá tak dlouho s tím novějším hhvm? Nedá se nějaká ta novější verze (ne nutně nightly ale třeba 3.12 pokud to tam je fixnuté) použít aniž by to trvalo tak dlouho? Zatím jsem to řešil tak že jsem hhvm dovolil failnout což samozřejmě není ideální.
Editoval enumag (19. 6. 2016 10:45)
- mrtnzlml
- Člen | 140
@enumag Pokud to chápu dobře, tak nedá, protože při této
konfiguraci (sudo: required
) to Travis nespouští pomocí Dockeru,
takže je to pomalejší (podrobnější informace proč to tak je). Vyřešit to
můžeš třeba tak, že použiješ Gitlab-CI a postavíš si vlastní image
s HHVM na Dockeru.