php-like syntax on top of nodejs (bring on the death threats!)
You had nightmares about it, the frenchman did it!
JHP brings a PHP-like approach to Node.JS programming. To make it brief it's a "best of both worlds", "worse of both worlds" kind of deal.
npm install jhp -g
In a folder, create a package.json file with the following elements:
"public": "path/to/htdocs""port": 8080
publicis the root of the web server,
portis the port the server has to listen to.
Then, in the command line:
jhp start path/to/folder/with/config (by default
jhp will look into the current directory)
In the main public folder, create
<?responsesetHeader "Content-Type" "text/plain" ;responsewrite requesturl ;requestend;
So, yes, it's pretty much the same as PHP:
- files with the
.jhpextension will be executed by the server,
- while other files will be passed verbatim to the client (like a static file server would).
request are the same objects you'd have in a
http.createServer handler. Except that
request has several new fields:
body, a promise that gets resolved with the request body (if and when the request has a body)<?requestbodydoneresponseend body ;;
query, a promise that gets resolved with the merge of both GET and POST parameters<?responsesetHeader "Content-Type" "text/plain" ;requestquerydonefor var key in query?><?= key ?>: <?= query key ?><?responseend;;
parsedURL, the request url as parsed by
require("url").parse( url, true )
(the promises are implemented by JQDeferred)
Remember: this is still Node.JS we're talking about, so always call
reponse.end() when you wanna flush the response!
JHP is meant as a rapid prototyping and testing environment, nothing more, nothing less. It won't toast your bread.
It is licensed under both the GPLv2 and the MIT licenses.
JHP is pretty fresh out of the oven, code is crude and features are sparse...
So it needs you:
- what kind of pluggable architecture should it have?
- what built-in feature is it lacking?
What we intend to work on right now is the static file serving part.