An open API service indexing awesome lists of open source software.

https://github.com/zweifisch/zf

a micro php framework/router for both web and cli
https://github.com/zweifisch/zf

Last synced: 4 months ago
JSON representation

a micro php framework/router for both web and cli

Awesome Lists containing this project

README

        

# zf [![Build Status](https://travis-ci.org/zweifisch/zf.png?branch=master)](https://travis-ci.org/zweifisch/zf)

a micro php framework for both web and cli

*requires php 5.6*

## a taste of zf

```php
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
cmd('hello ', 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();
```

```sh
$ php cli.php
Usage:

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

php cli.php time
--show-date also print date
```

```sh
$ php cli.php hello --times=2 zf
hello zf
hello zf
```

work in progress [documentation](http://zweifisch.github.io/zf-doc/getting_started.html)

## tests

to run tests

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