fanguojie / f-think-admin
简单常用工具
v0.28
2020-01-08 07:10 UTC
Suggests
- ext-swoole: 安装 swoole 可支持并行
This package is auto-updated.
Last update: 2024-09-08 18:22:56 UTC
README
git
git tag -a v0.21 -m "publish v0.21 version"
git push origin v0.21
git tag -d v0.21
git push origin :refs/tags/v0.21
php
通用网络请求
// 发起get请求
$result = http_get($url,$query,$options);
$result = \library\tools\Http::get($url,$query,$options);
// 发起post请求
$result = http_post($url,$data,$options);
$result = \library\tools\Http::post($url,$data,$options);
emoji 表情转义(部分数据库不支持可以用这个)
// 输入数据库前转义
$content = emoji_encode($content);
// 输出数据库后转义
$content = emoji_decode($content);
获取对象反射实例
获取类反射实例 $reflex = Reflex($object); 获取类方法反射示例 $reflex = Reflex($object); $actionReflex = $reflex->setMethod($action); 类注释举例: /** * Class Book * @route('v1/book') * @package app\api\controller\v1 */ class Book { } 获取: $route = $reflex->get('route',['rule']); 结果: $route = { ['rule' => '/v1/book/'] } 方法注释举例: /** * 查询指定bid的图书 * @route('v1/book/:bid','get') * @param Request $bid * @param('bid','bid的图书','require') * @return mixed */ public function getBook($bid) { $result = BookModel::get($bid); return $result; } 获取: $route = $actionReflex->get('route',['rule','method']); 结果: $route = { ['rule' => '/v1/book/','method' => 'get'] }
队列
use library\queue; $queue = new queue(100); $queue->setUniqid('1'); var_dump($queue->getMaxSize()); var_dump($queue->isFull()); var_dump($queue->count()); var_dump($queue->getQueueName()); while (count($queue)) { var_dump( $queue->deQueue() ); } /* $i = 0; while( !$queue->isFull() ) { var_dump( $queue->enQueue($i++) ); } */
并发类制定 swoole协程并发类
$many = new many\SwooleMany(4); $queue = new queue\PhpQueue(10); $a = 0; while ( $queue->isFull() ) { $queue->enQueue( ++$a ); } $many->go(function($ser,$que){ print_r( $ser->getMid() ); $list = []; while ( count($que) ) { $list[] = $que->deQueue(); } return $list; },$queue); $many->to(function($ser, $list){ print_r( $ser->getSid() ); print_r( $list ); });
Redis
use library\tools\RedisBase; $redisBase = new RedisBase($option,$section = 'default'); $option参数 ["host" => "127.0.0.1", "port" => "6379", "connect_timeout" => "1.5", "connect_retry_delay" => '100', //毫秒 "connect_retry_times" => 3, "password" => '',]