a micro php framework/router for both web and cli
PHP Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
zf
.gitignore
.travis.yml
README.md
composer.json
composer.lock
watch.sh

README.md

zf Build Status

a micro php framework for both web and cli

requires php 5.6

a taste of zf

<?php

require 'vendor/autoload.php';

$app = new zf\App;

/**
 * @param int $times an optional param
 */
$app->get('/hello/:name', function($name, $times=1) {
	return ['hello' => $name, 'times' => $times];
});

$app->get('/', function() {
	return $this->render('landing-page');
});

$app->resource('post', 'user');

$app->run();
$ php -S localhost:8000/index.php &> /tmp/server.log
$ curl localhost:8000/hello/foo?times=3
{"hello": "foo", "times': 3}

cli

<?php

require 'vendor/autoload.php';

$app = new zf\App;

/**
 * @param string $name your name
 * @param int $times times to repeat
 */
$app->cmd('hello <name>', function($name, $times=1) {
    return str_repeat("hello $name\n", $times);
})

/**
 * @param bool $showDate also print date
 */
$app->cmd('time', function($showDate=false) {
	return date($showDate ? 'Y-m-d H:i:s' : 'H:i:s');
});

$app->run();
$ php cli.php
Usage:

  php cli.php hello <name>
      name   	your name      
      --times	times to repeat

  php cli.php time
      --show-date	also print date
$ php cli.php hello --times=2 zf
hello zf
hello zf

work in progress documentation

tests

to run tests

composer.phar install --dev
CONFIG_FILE=test/configs.php vendor/bin/phpunit -c test