nrk / lamestnews

Lamest News is a port to PHP of the application that powers Lamer News.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lamest News

Lamer than lame.

Lamest News is a port of Salvatore Sanfilippo's Lamer News to PHP implemented using Silex and Twig for the web part and Predis to access the Redis datastore.

While the project tries to stick to the original Ruby implementation as much as possible, especially when it comes to the layout of the data stored in Redis and the look and feel of its web interface, some things might differ (one of them is the use of a templating engine).

Right now it is a work in progress and the priority so far has been to catch up with Lamer News, so there are still a lot of areas that could be improved and tests are still missing. As for performances, they are worse than the original Ruby implementation, even with an opcode cache like APC or XCache, mostly due to the fact that the application is reloaded on each request instead of being long-running, but a few experiments using AiP showed that following such an approach would result in noticeable gains by bringing latency down to 5ms from the current 11ms.

Installation

Once the Git repository has been cloned, enter the directory and fetch all the needed dependencies using Composer by typing composer install in a shell. If Composer is not installed or globally available on your system then you can download its phar package and use it to install the dependencies:

$ wget http://getcomposer.org/composer.phar
$ php composer.phar install

Execution

When using PHP >= 5.4.0, you can start experimenting with Lamest News right away by using PHP's built-in webserver simply by executing:

$ php -S localhost:8000 -t web/

In production environments you can just use any webserver by following the usual configuration instructions and pointing the document root to the web subdirectory of the repository. For performance reasons you might want to make sure that Silex debugging is disabled and the Twig template cache is set and points to a directory writable by the PHP process:

//...
$app['debug'] = false;
//...
$app->register(new TwigProvider(), array(
	// ...
    'twig.options' => array('cache' => '/path/to/cache'),
    // ...
));

Development

When modifying code please make sure that no warnings or notices are emitted by PHP by running the interpreter in your development environment with the error_reporting variable set to E_ALL | E_STRICT.

The recommended way to contribute is to fork the project on GitHub, create new topic branches on your newly created repository to fix or add features and then open a new pull request with a description of the applied changes. Obviously, you can use any other Git hosting provider of your preference. Diff patches will be accepted too, even though they are not the preferred way to contribute to the project.

When reporting issues on the bug tracker please provide as much information as possible if you do not want to be redirected here.

Dependencies

Authors

License

The code for Lamest News is distributed under the terms of the MIT license. Parts taken from the original Lamer News code base remain licensed under the BSD license.

About

Lamest News is a port to PHP of the application that powers Lamer News.

License:MIT License


Languages

Language:PHP 89.1%Language:JavaScript 10.9%