This is a goofball project! Definitely not recommended for production.
An amazing thing about PHP is you can just run a server, sit some files in a directory, and boom, HTML templates.
This project imitates that workflow in Ruby! Run the server, drop some templates in a directory, and use ERB to just make some HTML.
Since this is just for messing around, install this gem from git source.
gem 'rhp', github: 'zachmargolis/rhp'
The RHP::Server
class is a Rack handler that serves files out of a directory:
# config.ru
require 'rhp/server'
run RHP::Server.new('examples')
$ rackup config.ru
For a request to /something
, we evaluate the examples/something.html.erb
template.
<% header("X-Is-Super-Awesome: yes") %>
Hello from RHP! The year is <%= Time.now.year %>.
Which gives us:
curl -v http://localhost:9292/something
< HTTP/1.1 200 OK
< Content-Type: text/html
< X-Is-Super-Awesome: yes
<
Hello from RHP! The year is 2014.
Inside templates, the Rack::Request
object is exposed as request
so a lot
of common PHP-isms translate easily. We also expose a few common functions for
setting headers, response codes, etc.
PHP | RHP | |
---|---|---|
$_GET |
request.GET |
Access HTTP GET parameters |
$_POST |
request.POST |
Access HTTP POST parameters |
nl2br() |
nl2br |
Convert newline characters into <br /> tags |
header() |
header |
Set header values |
http_response_code() |
http_response_code |
Get or set HTTP status code |