1 Star 0 Fork 0

ttlt / fly

加入 Gitee
与超过 800 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

FLY

杂谈

随时体究,随时讨论,但使一日之间整顿得三五次,理会得三五事,则日积月累,自然纯熟,自然光明矣。

“《诗》云:‘如切如磋,如琢如磨。’其斯之谓与?”宋·朱熹注:“言治骨角者,既切之而复磋之;治玉石者,既琢之而复磨之,治之已精,而益求其精也。”

《庄子·秋水》:“骐、骥、骅、骝,一日而驰千里。”

安装

composer require ttlt/fly

说明

生成thinkphp框架model类注释
$GenerateTpModelNotes = new GenerateTpModelNotes([
    'database'=>'test', //数据库名称
    'prefix'=>'', //表前缀
    'model_dir'=>'', //模型目录
    'namespace'=>'' //模型的命名空间
]);
$GenerateTpModelNotes->run();
生成thinkphp框架通用参数类
$GenerateStructParam = new GenerateStructParam([
    'database'=>'test', //数据库名称
    'prefix'=>'', //表前缀
    'struct_dir'=>'', //模型目录
    'namespace'=>'' //模型的命名空间
]);
$GenerateStructParam->run();
二维数组通用处理类
$records = [
    [
        'id' => 1,
        'name' => "test",
        'tel' => "123456",
        'type' => 0,
    ],
    [
        'id' => 2,
        'name' => "test",
        'tel' => "123456",
        'type' => 1,
    ],
    [
        'id' => 3,
        'name' => "test",
        'tel' => "123456",
        'type' => 3,
    ],
];

//替换二维数组的一列的数据
$replacement = [0 => 'type0', 1 => 'type1', 2 => 'type2'];
$res = ArrayRecord::replaceColumn($records, 'type', $replacement);

//复制二维数组的一列
$res = ArrayRecord::copyColumn($records, 'type', 'type1', true);

//删除二维数组一些列
$res = ArrayRecord::deleteColumns($records, ['id', 'tel']);

//打包二维数组的一些列为新的一列
$res = ArrayRecord::packageColumns($records, 'test', 'id,tel');

//为二维数组的一列应用回调函数
$res = ArrayRecord::mapColumn($records, 'tel', function ($column) {
    return date('Y-m-d H:i:s', $column);
});

//为二维数组应用回调
$res = ArrayRecord::map($records, function ($record) {
    unset($record['id']);
    $record['abc'] = 1;
    return $record;
});

//一个二维数组连接另一个二维数组
$records1 = [
    ['name' => '类型1', 'id' => 0],
    ['name' => '类型2', 'id' => 2],
    ['name' => '类型2', 'id' => 3],
];
$res = ArrayRecord::join($records, $records1, 'type', 'id','t123');
二维数组通用处理类
$records = [
    ['id'=>1,'pid'=>0,'name'=>'name1'],
    ['id'=>2,'pid'=>0,'name'=>'name2'],
    ['id'=>3,'pid'=>0,'name'=>'name3'],
    ['id'=>4,'pid'=>1,'name'=>'name4'],
    ['id'=>5,'pid'=>2,'name'=>'name5'],
    ['id'=>6,'pid'=>3,'name'=>'name6'],
    ['id'=>7,'pid'=>3,'name'=>'name7'],
    ['id'=>8,'pid'=>2,'name'=>'name8'],
    ['id'=>9,'pid'=>1,'name'=>'name9'],
    ['id'=>10,'pid'=>7,'name'=>'name10'],
    ['id'=>11,'pid'=>8,'name'=>'name11'],
    ['id'=>12,'pid'=>9,'name'=>'name12'],
    ['id'=>13,'pid'=>12,'name'=>'name13'],
    ['id'=>14,'pid'=>13,'name'=>'name14'],
    ['id'=>15,'pid'=>14,'name'=>'name15'],
];
$TreeRecord = new TreeRecord($records,'id','pid');

//查找下级记录
$res = $TreeRecord->findChildRcords(1);

//查找父记录
$res = $TreeRecord->findParentRecords(15);

//转成树形结构
$res = $TreeRecord->formatToTree(0);

//修复上下级断层
$records = [
    ['id'=>1,'pid'=>0,'name'=>'name1'],
    ['id'=>2,'pid'=>5,'name'=>'name2'],
    ['id'=>3,'pid'=>2,'name'=>'name3']
];
$TreeRecord = new TreeRecord($records,'id','pid');
$res = $TreeRecord->repair(0)->formatToTree(0);
服务进程管理类
/**
 * 带守护进程启动命令: php exampleProcessManager.php daemon
 * 不带守护进程启动命令: php exampleProcessManager.php
 * 不带守护进程启动命令: php exampleProcessManager.php start
 * 重启服务进程命令:php exampleProcessManager.php restart
 * 停止命令:php exampleProcessManager.php stop
 */
 
//简单使用
ServiceProcessManager::setup()->setDebug(true)->dispatch();

//下面是业务逻辑例子
while (1) {
    //获取进程pid
    if (function_exists('posix_getpid')) {
        $pid = posix_getpid();
    } else {
        $pid = getmypid();
    }
    //接收父进程命令
    ServiceProcessManager::getInstance()->recvProcessCmd();
    global $argv;
    echo "[childProcess] [pid=" . $pid . '] [command=php ' . implode(' ',$argv) .']'. PHP_EOL;
    sleep(1);
}
//高级使用
ServiceProcessManager::setup([
    ProcessDescStruct::create('', 'actionOne', 1),
    ProcessDescStruct::create('', 'actionTwo', 1)
])
->setDebug(true)
->setOsUser('www')
->setDaemonProcessName('ProcessName')
->setDaemonLoopInterval(1000)
->dispatch();
//灵活使用
ServiceProcessManager::setup(ProcessDescStruct::create('','actionOne',1));
ServiceProcessManager::setup(ProcessDescStruct::create('','actionTwo',1));
$manager = ServiceProcessManager::getInstance();
$manager->setDebug(true);
$manager->dispatch();

仓库评论 ( 0 )

你可以在登录后,发表评论

简介

PHP资源 随时体究,随时讨论,但使一日之间整顿得三五次,理会得三五事,则日积月累,自然纯熟,自然光明矣。 “《诗》云:‘如切如磋,如琢如磨。’其斯之谓与?”宋·朱熹注:“言治骨角者,既切之而复磋之;治玉石者,既琢之而复磨之,治之已精,而益求其精也。” 《庄子·秋水》:“骐、骥、骅、骝,一日而驰千里。” 1.GenerateTpModelNotes是生成thinkphp框架model类的注释 展开 收起
PHP
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/ttlt/fly.git
git@gitee.com:ttlt/fly.git
ttlt
fly
fly
master

搜索帮助

挂件 关闭按钮