underscore是前端常用的javascript库,最近无意中发现原来它还有PHP的移植。

基本介绍

绝大部分函数都移植过来了。underscore.js用的是_,可是这个在PHP中已经用来表示gettext()了,所以改成了__,双下划线。

使用很简单:

__(array(1, 2, 3))->map(function($n) { return $n * 3; });

或者,如果你偏爱静态风格:

__::map(array(1, 2, 3), function($n) { return $n * 3; });

结果:

Array

(

[0] => 3

[1] => 6

[2] => 9

)

安装

composer

一般用Composer安装:

"anahkiasen/underscore-php" : "dev-master"

Laravel

如果用Laravel框架,可以用artisan:

artisan bundle:install underscore

然后在bundles文件中加入这行:

'underscore' => array('auto' => true),

include/require

如果你这么传统……那当然也是可以的。

函数一览

绝大部分都移植过来了:

Collections

each, map, reduce, reduceRight, detect, select, reject, all, any, includ, invoke, pluck, max, min, groupBy, sortBy, sortedIndex, toArray, size

Arrays

first, rest, last, compact, flatten, without, uniq, union, intersection, difference, zip, indexOf, lastIndexOf, range

Functions

memoize, throttle, once, after, wrap, compose

Objects

keys, values, functions, extend, defaults, clon, tap, isEqual, isEmpty, isObject, isArray, isFunction, isString, isNumber, isBoolean, isDate, isNaN, isNull

Utility

identity, times, mixin, uniqueId, template

Chaining

chain, value

我自己更习惯写原生PHP。不过这个库可以帮助从前端转过来的同学,所以这里和大家分享一下。

PHP版的underscore,underscore.php相关推荐

  1. Underscore.js Version (1.2.3) 中文文档

    Underscore 一个非常实用的JavaScript库,提供许多编程功能的支持,就像你期望 Prototype.js (或者 Ruby), 有这些功能且不扩展任何JavaScript的原生对象.有 ...

  2. Underscore.js-精巧而强大实用功能库

    前言 从其他语言转向Javascript时,通常都会遇到一些困惑性问题.比如,Java中的HashMap在Javascript中如何实现?Javascript面向对象式编程如何实现继承?如何实现通用的 ...

  3. Underscore使用方法

    从其他语言转向Javascript时,通常都会遇到一些困惑性问题.比如,Java中的HashMap在Javascript中如何实现?Javascript面向对象式编程如何实现继承?如何实现通用的ite ...

  4. angular7+underscore的使用

    方式一 1.首先下载underscore npm install underscore --save npm install @types/underscore --save 2.在需要的模块引入un ...

  5. underscore_PHP Underscore入门

    underscore If you've ever used the Backbone framework for JavaScript, you'll already be familiar wit ...

  6. 老衣的开发工具和类库集之2014版

    14年承诺朋友们公开自己常用的工具和类库集,一直没能及时兑现.今天忙里偷个闲,整理了一下清单,在此公布出来,希望能够对大家在.NET.App.Web等开发方面有所帮助.也当是给.NET开发者一个元宵礼 ...

  7. Underscore源码阅读极简版入门

    看了网上的一些资料,发现大家都写得太复杂,让新手难以入门.于是写了这个极简版的Underscore源码阅读. 源码: github.com/hanzichi/un- 一.架构的实现 1.1:架构 (f ...

  8. 防抖函数Debounce实现

    实现原理就是利用定时器,函数第一次执行时设定一个定时器,之后调用时发现已经设定过定时器就清空之前的定时器,并重新设定一个新的定时器,如果存在没有被清空的定时器,当定时器计时结束后触发函数执行. 手写一 ...

  9. debounce实现 js_javascript防抖函数debounce详解

    定义及解读 防抖函数 debounce 指的是某个函数在某段时间内,无论触发了多少次回调,都只执行最后一次.假如我们设置了一个等待时间 3 秒的函数,在这 3 秒内如果遇到函数调用请求就重新计时 3 ...

最新文章

  1. 015_Redis创建集群
  2. platform总线的probe函数调用
  3. SharePoint 2010 master page 控件介绍(5):其他
  4. 西瓜书+实战+吴恩达机器学习(六)监督学习之逻辑回归 Logistic Regression
  5. 数据库备份恢复策略_如何根据备份策略选择和检查正确的数据库恢复模型
  6. [osg][原创]osg多屏幕显示,会出现透明需要设置的问题
  7. 《linux核心应用命令速查》连载七:bg:后台运行命令
  8. 基于REM的移动端响应式适配方案
  9. 时序逻辑电路的分析和设计
  10. foobar2000界面自定义详解
  11. html bottom没有效果,css 设置margin-top或margin-bottom失效不取作用的解决方法
  12. 充电器电压和电池电压关系
  13. Dragonfly——一款功能强大的在线家庭装潢设计软件
  14. 机械原理复习试题及答案
  15. 【第一章 走进数据科学】袁博《数据挖掘:理论与算法》
  16. Java练习题 类 先创建一个Point类,然后定义Trianglele类。在Trianglele类中定义三个Point的实体来表示一个三角形的三个点,然后定义两个方法求三角形的周长、面积。
  17. 细说MATLAB中的MAX函数 (翻译Help文档而来)
  18. Java 统一返回结果集封装
  19. 学习网站建设必备知识
  20. 基于规则经验主义和基于统计的自然语言处理方法的比较

热门文章

  1. 0206PHOTOSHOP第零十式色相环
  2. pcm5102a解码芯片音质评测_漫步者LolliPods无线蓝牙耳机音质超越价格
  3. 如何在微信小程序中集成认证服务—邮箱地址篇
  4. 新闻发稿公司及软文发稿渠道整体操作过程解密
  5. 手机如何登录企业邮箱,公司电子邮箱登录页面在哪里?
  6. arm linux i2c 总线驱动,ARM-Linux中I2C总线驱动开发
  7. Python全栈学习day1
  8. css框架和js框架_如何选择正确CSS工具包和框架
  9. Viso制作各种顺序结构流程图(具体步骤含实例)
  10. Office365跨订阅迁移邮箱-批量导出用户PST文件