Skip to main content

A spinoff of PHP in Python

Project description

Python PPHP: Hypertext Preprocessor.

PPHP

This is a spinoff of PHP (PHP: Hypertext Preprocessor) that uses Python instead of the PHP language.

How to use it:

To host the server, simply run python -m PPHPServer

To execute Python code inside a file, use:

<?pphp #code here (line breaks permitted) ?>

and output will be recorded in the same way as PHP - through stdout.

Example:

<p>Request method: <?pphp echo(_SERVER['REQUEST_METHOD']) ?></p>

Some special globals:

  • echo(text) - this is equivalent to sys.stdout.write(text)

  • escape(text) - this is equivalent to PHP’s htmlspecialchars - escapes special HTML characters.

  • __script__ - this is the entire script currently being executed

  • __db__ - this is the server’s database, more documentation below

  • _GET - this is the GET data as a dictionary

  • _POST - this is the POST data as a dictionary

  • _REQUEST - this is a combination of _GET and _POST

  • _SERVER - this is the equivalent of PHP’s $_SERVER, with some exceptions described below.

In _SERVER, the keys REQUEST_TIME, HTTP_ACCEPT, HTTP_ACCEPT_CHARSET, HTTP_HOST, HTTP_REFERER, HTTPS, REMOTE_HOST, SERVER_ADMIN, SERVER_SIGNATURE, SCRIPT_NAME, and SCRIPT_URI are all not available; and the key GATEWAY_INTERFACE returns the version of the cgi module, not the gateway interface.

Data for a server can be stored using the global __db__. This is simply a dictionary - you can store and retrieve values as such. Data in __db__ is stored as JSON in the file __DATABASE__.json, under ~/.pphp on Mac or Linux or %appdata%/.pphp on Windows. Changes to __db__ will only show up in __DATABASE__.json after all scripts have finished running. WARNING: Moving the file will reset that script’s data!

Thanks to:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pphp-3.3.1.tar.gz (6.1 kB view hashes)

Uploaded Source

Built Distribution

pphp-3.3.1-py2.py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page