hktr92/php-primitives

此包已被弃用且不再维护。作者建议使用 hktr92/oopize 包。

受 JavaScript 和 Python 启发的实验性内容。

dev-master 2018-11-22 13:42 UTC

This package is auto-updated.

Last update: 2020-02-12 14:31:48 UTC


README

PHP Primitives 是一个受 JavaScript / Python 世界启发的实验性库。

它们只是原始数据类型的包装。

为什么你会这样做?

对我来说,这只是为了好玩。这将是我的第一个基于 TDD 的项目。

实用?这始于一个我定义了 StringUtil 类的项目,以进行基本的案例转换。该类中的所有方法都是静态的,所以我必须做类似的事情

<?php

class StringUtil {
    static $encoding = 'UTF-8';
    // ...
    public static function mbLoaded(): bool { return extension_loaded('mbstring'); }
    // ...
    public static function length(string $text, ?string $encoding): int {
        if (self::mbLoaded()) {
            return mb_strlen($text, $encoding ?? static::$encoding);
        }
        
        return strlen($text);
    }
    // ...
}

而且,由于我大量使用 JavaScript,我想试验一些东西。想象一下:如果可以在 PHP 中做类似的事情呢?

// javascript
"foo".split();
"bar".concat("baz");
# python

"foo".split()
"bar baz buzz".find("baz")
"bOo".islower()

免责声明

此库不应用于生产环境。如果您确实使用它...那就看您了。

概念证明

您可以在 examples/ 目录中探索功能。