kcloze / ycf
A simple PHP framework for api or cli application
dev-master
2016-05-27 09:10 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-12-11 20:53:28 UTC
README
- a very simple,micro PHP framework
- it can be run in Cli,PHP-FPM,Swoole
- composer install and name space auto load
- a solution for micro-services and blazing fast APIs
Requirements
- PHP 5.3+
Installation
- git clone https://github.com/kcloze/ycf.git your-app
- cd your-app and run: composer install
- chmod -R 777 src/runtime/
- edit src/config/settings.ini.php for mysql config or redis,add test table(https://github.com/kcloze/ycf/blob/master/pdo_test.sql)
How to run
###php-fpm
run in php-fpm: Open your browser and enter http://youhost/index.php?ycf=hello&act=hello
if set nginx as follow,url can be simple: http://youhost/hello/hello
location / {
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
###cli ####run in cli:
- php index.php ycf=hello act=hello
###swoole run with swoole:
- php env in you path
- chmod u+x server.sh
- ./server.sh
Documentation
- in src/service/ ,you can add your business code here
- Naming Conventions:
- ---service class name :YcfYourname.php
- ---method name : public static function actionYourname()
- DB Class Use
- if you need redis,shoud install phpredis extention(https://github.com/phpredis/phpredis)
##How to use Task
public function actionTask()
{
// send a task to task worker.
$param = array(
'action' => 'test',
'time' => time(),
);
//var_dump(HttpServer::getInstance()->http);
//$this->http->task(json_encode($param));
for ($i = 0; $i < 1; $i++) {
$taskId = YcfCore::$_http_server->task(json_encode($param));
}
echo $taskId . " hello ycf" . time();
}
Benchmarks
Community
mail: pei.greet@gmail.com qq群: 141059677
##License The ycf framework is open-sourced software licensed under the MIT license