jesseschalken/hack-utils

v0.1 2016-09-20 13:35 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:53:19 UTC


README

为Hack语言使用PHP函数的安全包装库,目标如下

  • 完全且准确地静态类型化
  • 通过h2tp <src> <dst> --no-collections与PHP >= 5.3无缝交互
  • 优先使用PHP数组而非Hack集合,使得库更容易从PHP中使用
  • 尽可能提供比标准PHP API更简单或更有用的语义
    • 错误情况下抛出异常,而不是返回false或要求调用者检查_last_error()函数
    • 使用一致的参数顺序,将主题(如果函数是方法,则为$this)作为第一个参数
  • 覆盖常见Hack/PHP程序所需的核心功能集

库函数像其他Composer包一样工作,无需安装hhvmh2tp即可使用。修改此库时,请使用./build.bash重新构建PHP代码。

提供以下功能

  • 字符串(查找、重复、替换、切片、拼接、分块、修剪、填充、反转、分割、连接、is_alnum、...,十六进制转换,编码/解码UTF8、...)
  • 数组,包括关联数组和顺序索引数组(连接、推入、弹出、移动、添加到开头、范围、过滤、映射、归约、连接映射、分组、组合、反转、转置、并集、交集、差集、选择、连接、解包、反转、洗牌、分块、重复、切片、拼接、查找、排序、...)
  • 整数/浮点数(最大值、最小值、绝对值、向上取整、向下取整、截断、小数部分、四舍五入、符号位、指数、幂、对数、求和、乘积、正弦、余弦、正切、双曲正弦、...)
  • 日期/时间(解析、格式化、获取部分、从部分创建、...)
  • JSON(编码、解码)
  • PCRE正则表达式(匹配、匹配所有、分割、替换、引号)

hack/目录中浏览源代码。

函数具有简单的口头名称。当需要为不同类型(顺序数组、关联数组、字符串)使用相同动词的不同用法时,不常见版本以_string_array_assoc等相应后缀修饰。例如,chunk(用于数组),chunk_stringchunk_assoc

_开头的前缀是私有的,不应从库外部引用。

待办事项

  • 文件系统(fopen、scandir、unlink、...)
  • 命令执行(proc_open、...)