基于 Laravel collect 的 PHP Extension

分享 vikin ⋅ 于 2016-12-28 23:49:41 ⋅ 最后回复由 vikin 2016-12-30 20:58:58 ⋅ 1142 阅读

介绍:

vcollect 是一个PHP c extension,提供流畅、便利的数组数据操作。
file

安装:

1、Clone

定位于PHP下的ext目录,执行

git clone https://github.com/VikinDev/v-collect.git

2、编译安装

在扩展目录内,执行

phpize
./configure
make && make install

3、修改ini

在php.ini文件中加入extension = vcollect.so

使用

创建集合

$test = vcollect([1, 2, 3, 4, 5, 6]);

可用方法


^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^
map collapse avg has mx mi toJson toArray take pluck
where

where

快速过滤或筛选集合

$vcollect = vcollect([
    ['developer' => ['name' => 'Taylor', 'option' => ['test' => 'one'] ] ],
    ['developer' => ['name' => 'Abigail', 'option' => ['test' => 'two'] ] ]
]);

$vcollect->where('developer.option.test', 'one')->toArray();

// ['developer' => ['name' => 'Taylor', 'option' => ['test' => 'one'] ] ]

......


github: https://github.com/VikinDev/v-collect


:relaxed:
欢迎各位star,我会继续努力!向各位大佬学习;:clap:

本帖已被设为精华帖!
本帖由 Summer 于 1月前 加精
回复数量: 17
  • bluetoothswh LaraStore商城系统
    2016-12-29 09:46:25

    做成了php的扩展库?:+1:

  • camry 系统架构师 & 前端工程师
    2016-12-29 09:49:59

    @vikin https://github.com/Vikins/vcollect 这个也是你开源的么。

  • chenyuanqi 最懒进化
    2016-12-29 09:51:21

    一般 laravel 外的项目,使用 collection 的话都会直接 composer 载入 illuminate/support。现在整成扩展,也是很棒的想法,加油!:thumbsup: :blush:

  • vikin 一个平庸的程序员
    2016-12-29 10:02:36

    @camry 是的 :bowtie:

  • qq215672398 还什么都没有哦
    2016-12-29 10:59:18

    哈哈,有人做了,感谢啊

  • chongyi
    2016-12-30 10:30:07

    PHP 扩展的开发文档是官网上的那个吗?

  • vikin 一个平庸的程序员
    2016-12-30 10:31:44

    @chongyi 看过部分,不过好多都是看源码学来的;

  • chongyi
    2016-12-30 10:33:33

    @vikin 我不知道从何下手,官网的扩展编写部分,无论是中文的还是英文的,都不全。参考资料并不丰富,很多都很旧,新的 PHP 7 的 zval 结构变动了,还没研究,好累

  • vikin 一个平庸的程序员
    2016-12-30 10:53:41

    @chongyi 可以看一下你经常用的函数源码(因为你已经很熟悉该函数的特性),这样理解起来比较快;对ZEN_API也会了解一些;

  • chongyi
    2016-12-30 10:54:13

    @vikin 要得!谢谢

  • chongyi
    2016-12-30 10:54:53

    @vikin 话说这个 windows 上编译通过没?

  • vikin 一个平庸的程序员
    2016-12-30 10:56:17

    @chongyi :smile:谢谢大佬支持;

  • chongyi
    2016-12-30 10:58:25

    @vikin 我离大佬还早,现在是光会写 PHP,还不会写 PHP :joy:

  • vikin 一个平庸的程序员
    2016-12-30 11:00:44

    @chongyi 抱歉,身边没有windows机子,还没在windows上编译过,不过config.w32是可用的,:simple_smile: 编译成功烦请大佬告知;

  • chongyi
    2016-12-30 11:06:03

    @vikin 我现在也没得 windows 的机子。。。 :joy:

  • 大帅
    2016-12-30 19:08:55

    而且php 扩展运行的速度回更快,厉害

  • vikin 一个平庸的程序员
    2016-12-30 20:58:58

    @大帅 :smile:谢谢大佬!

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter