Skip to content

Latest commit

 

History

History
92 lines (66 loc) · 1.5 KB

README.md

File metadata and controls

92 lines (66 loc) · 1.5 KB

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