Skip to content

Commit 7657e49

Browse files
committed
Converts hhvm to v5 design
1 parent 96a6dda commit 7657e49

File tree

13 files changed

+195
-154
lines changed

13 files changed

+195
-154
lines changed

src/Puphpet/Extension/HhvmBundle/Controller/FrontController.php

-17
This file was deleted.

src/Puphpet/Extension/HhvmBundle/Resources/config/routing.yml

-3
This file was deleted.

src/Puphpet/Extension/HhvmBundle/Resources/views/form.html.twig

-134
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace Puphpet\MainBundle\Controller;
4+
5+
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
6+
use Symfony\Component\HttpFoundation\Request;
7+
8+
class HhvmController extends Controller
9+
{
10+
public function indexAction(array $data)
11+
{
12+
return $this->render('PuphpetMainBundle:hhvm:form.html.twig', [
13+
'hhvm' => $data,
14+
]);
15+
}
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
puphpet.hhvm.homepage:
2+
pattern: /
3+
defaults: { _controller: PuphpetMainBundle:Hhvm:index }

src/Puphpet/MainBundle/Resources/config/routing.yml

+3
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,6 @@ puphpet.python:
8383
puphpet.nodejs:
8484
resource: "@PuphpetMainBundle/Resources/config/nodejs/routing.yml"
8585
prefix: /extension/nodejs
86+
puphpet.hhvm:
87+
resource: "@PuphpetMainBundle/Resources/config/hhvm/routing.yml"
88+
prefix: /extension/hhvm

src/Puphpet/MainBundle/Resources/config/services.yml

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ services:
3636
- [ addExtension, [ 'ruby' ] ]
3737
- [ addExtension, [ 'python' ] ]
3838
- [ addExtension, [ 'nodejs' ] ]
39+
- [ addExtension, [ 'hhvm' ] ]
3940

4041
puphpet.twig.base_extension:
4142
class: Puphpet\MainBundle\Twig\BaseExtension

src/Puphpet/MainBundle/Resources/views/front/sections/language.html.twig

+3
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,6 @@
1616
<div class="tab-pane" id="nodejs">
1717
{% include 'PuphpetMainBundle:nodejs:form.html.twig' with { 'nodejs': extensions.nodejs.data } %}
1818
</div>
19+
<div class="tab-pane" id="hhvm">
20+
{% include 'PuphpetMainBundle:hhvm:form.html.twig' with { 'hhvm': extensions.hhvm.data } %}
21+
</div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
<div class="section-header hidden">
2+
<h1>HHVM</h1>
3+
<p class="lead">Install HHVM and choose modules and settings.</p>
4+
</div>
5+
6+
<div class="form-group">
7+
<span class="help-text">
8+
HHVM is a new open-source virtual machine designed for executing programs
9+
written in PHP.
10+
<a href="https://github.com/facebook/hhvm/" target="_blank">Learn about HHVM</a>.
11+
</span>
12+
<div class="clearfix"><label>Install</label></div>
13+
14+
<label class="col-xs-12 radio-tile">
15+
<input type="checkbox" name="hhvm[install]" value="1"
16+
class="invisible toggle-on-select update-other-input-on-check"
17+
{% if hhvm.install %}checked{% endif %}
18+
data-vis-toggle-target="#hhvm-container"
19+
data-update-on-check-php[install]="0" />
20+
<span class="content">
21+
<span class="header large">
22+
<i class="icon"></i>
23+
<span class="title">Install HHVM</span>
24+
</span>
25+
<span class="footer">
26+
If you install HHVM, you cannot install PHP.
27+
</span>
28+
</span>
29+
</label>
30+
31+
<div class="clearfix"></div>
32+
</div>
33+
34+
<div class="clearfix"></div>
35+
36+
<div id="hhvm-container" class="{% if not hhvm.install %}hidden{% endif %}">
37+
<div class="form-group col-xs-6">
38+
<div class="clearfix"><label>Nightly</label></div>
39+
40+
<label class="radio-tile mini set-width">
41+
<span class="help-text">
42+
This will install the nightly release of HHVM.
43+
</span>
44+
<input type="checkbox" name="hhvm[nightly]"
45+
class="invisible"
46+
{% if hhvm.nightly %}checked{% endif %}
47+
value="1" />
48+
<span class="content">
49+
<span class="header">
50+
<i class="icon"></i>
51+
<span class="title">Install Nightly</span>
52+
</span>
53+
</span>
54+
</label>
55+
</div>
56+
57+
<div class="form-group col-xs-6">
58+
<div class="clearfix"><label>System-Wide Composer</label></div>
59+
60+
<label class="radio-tile mini set-width">
61+
<span class="help-text">
62+
<a href="https://getcomposer.org">Composer</a> will be available as a
63+
system service:<br />
64+
<code>$ composer</code>
65+
</span>
66+
<input type="checkbox" name="hhvm[composer]"
67+
class="invisible"
68+
{% if hhvm.composer %}checked{% endif %}
69+
value="1" />
70+
<span class="content">
71+
<span class="header">
72+
<i class="icon"></i>
73+
<span class="title">Install Composer</span>
74+
</span>
75+
</span>
76+
</label>
77+
78+
<input type="hidden" name="hhvm[composer_home]" value="{{ hhvm.composer_home }}" />
79+
</div>
80+
81+
<div class="clearfix"></div>
82+
83+
<div class="form-group col-xs-6">
84+
<div class="help-text">
85+
<p>HHVM will run in
86+
<a href="http://www.hhvm.com/blog/1817/fastercgi-with-hhvm"
87+
target="_blank">FastCGI mode</a>.</p>
88+
<p>In short: it will use Apache or Nginx (whatever you have chosen)
89+
so all your htaccess and redirect rules should continue working as
90+
normal. Only instead of using the official PHP engine, HHVM will be
91+
used.</p>
92+
</div>
93+
<label for="hhvm-settings-host">Host</label>
94+
<input type="text" id="hhvm-settings-host"
95+
name="hhvm[settings][host]"
96+
class="form-control" placeholder="127.0.0.1"
97+
value="{{ hhvm.settings.host }}" />
98+
</div>
99+
100+
<div class="form-group col-xs-6">
101+
<div class="help-text">
102+
<p>HHVM will run in
103+
<a href="http://www.hhvm.com/blog/1817/fastercgi-with-hhvm"
104+
target="_blank">FastCGI mode</a>.</p>
105+
<p>In short: it will use Apache or Nginx (whatever you have chosen)
106+
so all your htaccess and redirect rules should continue working as
107+
normal. Only instead of using the official PHP engine, HHVM will be
108+
used.</p>
109+
</div>
110+
<label for="hhvm-settings-port">Listen Port</label>
111+
<input type="text" id="hhvm-settings-port"
112+
name="hhvm[settings][port]"
113+
class="form-control" placeholder="13000"
114+
value="{{ hhvm.settings.port }}" />
115+
</div>
116+
117+
<div class="clearfix"></div>
118+
119+
<div class="form-group col-xs-12">
120+
<div class="help-text">
121+
All settings added to a single INI file.
122+
</div>
123+
<label for="hhvm-ini-displayer">INI Settings</label>
124+
<select id="hhvm-ini-displayer" multiple
125+
class="form-control select-tags-user-input"
126+
data-target-container="hhvm-ini"
127+
data-target-name="hhvm[ini]">
128+
{% set flattened = [] %}
129+
{% for ini, values in hhvm.available_ini %}
130+
{% if values is not empty %}
131+
<optgroup label="{{ ini }}">
132+
{% for value in values %}
133+
{% set flattened = flattened|merge([value]) %}
134+
<option value="{{ value }}"
135+
{% if value in hhvm.ini|keys %}selected{% endif %}>{{ value }}</option>
136+
{% endfor %}
137+
</optgroup>
138+
{% else %}
139+
{% set flattened = flattened|merge([ini]) %}
140+
<option value="{{ ini }}"
141+
{% if ini in hhvm.ini|keys %}selected{% endif %}>{{ ini }}</option>
142+
{% endif %}
143+
{% endfor %}
144+
145+
{% for name, value in hhvm.ini %}
146+
{% if name not in flattened %}
147+
<option value="{{ name }}" selected>{{ name }}</option>
148+
{% endif %}
149+
{% endfor %}
150+
</select>
151+
152+
<div id="hhvm-ini" class="hidden">
153+
{% for name, value in hhvm.ini %}
154+
<input type="hidden" name="hhvm[ini][{{ name }}]"
155+
data-option-name="{{ name }}" value="{{ value }}" />
156+
{% endfor %}
157+
</div>
158+
</div>
159+
160+
<div class="clearfix"></div>
161+
162+
<div class="help-block">
163+
<p>ATTENTION: <strong>HHVM is currently not officially supported on CentOS</strong>.</p>
164+
<p>Unfortunately the latest version available to PuPHPet boxes is HHVM 3.2. While HHVM
165+
will install on CentOS, many things simply do not work.</p>
166+
<p>Do not open support tickets about this! It is a known problem with CentOS and HHVM.</p>
167+
<p>It is highly recommended you install HHVM on an Ubuntu 14.04 or Debian 7.5 box.</p>
168+
</div>
169+
</div>

0 commit comments

Comments
 (0)