siwo
1.0.0
基于swoole4.2.x版本封装的简易框架
1.composer create-project oldshiji/siwo siwo 目前沿无稳定版本,安装时请指定版本即可
框架启动
/**
* Created by PhpStorm.
* User: [email protected]
* Date: 2018/11/19
* Time: 13:36
*/
Route::group(['prefix'=>'api','middleware'=>'web'],function(){
Route::get("user/test","UserController@test");
Route::get("user/lists","UserController@testa");
Route::post("video/clip","VideoController@clip");
Route::post("video/division","VideoController@clipFilter");
Route::get("chan/test","ChanController@test");
});
Route::group(['middleware'=>'api'],function(){
Route::get("user/test/a","UserController@test");
Route::get("user/lists/a","UserController@lists");
});
/**
* Created by PhpStorm.
* User: [email protected]
* Date: 2018/11/21
* Time: 13:28
*/
namespace AppHttpControllers;
use SiwoFoundationDatabaseDb;
use SiwoFoundationHttpController;
use SwooleCoroutine;
use SwooleProcess;
class VideoController extends HttpController
{
public function clip()
{
Coroutine::create(function (){
$from_second = $this->request->post['from_second'];//00:00:20
$to_second = $this->request->post['to_second'];
if (empty($from_second))$this->response->write("视频起始时间参数未传递");
if (empty($to_second))$this->response->write("视频结束时间参数未传递");
$video = "/home/video/video.mp4";
$video_name = date("Ymdhis").".mp4";
$video_dest = "/home/video/".$video_name;
$video_output= "https://www.itkucode.com/".$video_name;
$cmd = "/usr/local/bin/ffmpeg -i ".$video." -vcodec copy -acodec copy -ss ".$from_second." -to ".$to_second." ".$video_dest." -y";
$ret = Coroutine::exec($cmd);
if (isset($ret['code']) && $ret['code'] == 0){
$this->response->end($video_output);
}
});
}/**
* Created by PhpStorm.
* User: [email protected]
* Date: 2018/11/21
* Time: 20:37
*/
namespace AppTcpControllers;
use SiwoFoundationDatabaseDb;
use SiwoFoundationTcpController;
use SwooleCoroutine;
class TestController extends TcpController
{
public function index()
{
$this->server->send($this->fd,'hello,siwo');
}
}/**
* Created by PhpStorm.
* User: [email protected]
* Date: 2018/11/24
* Time: 18:09
*/
namespace AppUdpControllers;
use SiwoFoundationUdpController;
class UserController extends UdpController
{
public function index()
{
$this->server->sendto($this->clientInfo['address'],$this->clientInfo['port'],json_encode($this->getClientInfo()));
}
}/**
* Created by PhpStorm.
* User: [email protected]
* Date: 2018/11/28
* Time: 15:11
*/
namespace AppWsControllers;
use SiwoFoundationWebsocketController;
class UserController extends WebsocketController
{
public function index()
{
echo $this->frame->data;
$this->getServer()->push($this->fd,"hello,swoole");
}
}
PS:不在维护和管理了