Skip to content
PHP Prim is a PHP library that exposes primitive types as immutable objects with convenience methods to operate on them.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.assets
.changelog
.circleci
.github
src
tests
.editorconfig
.gitattributes
.gitignore
.phpcs.xml.dist
.styleci.yml
CHANGELOG.md
LICENSE.md
README.md
composer.json
phpinsights.php
phpstan.neon.dist
phpunit.xml.dist
prim.sublime-project

README.md

PHP Primitive Objects

Build Status PHP Version Stable Release Total Downloads GitHub


DEPRECATED: This package was growing too big and has now been deprecated in favor of the following smaller, segmented and more contained packages:

PHP Prim is a PHP library that exposes primitive types as immutable objects with convenience methods to operate on them.

Installation

Requirements:

Install Prim using Composer:

composer require norse-blue/prim

Usage

There are three ways to create a primitive object instance:

  1. Using the new keyword:

    use NorseBlue\Prim\Scalars\StringObject as Str;
    
    $str = new Str('my string');
    echo $str->upper();
    
    // Outputs:
    // MY STRING
  2. Using the facades:

    Note: params passed by reference are not supported in facades because the calls depend on __callStatic, which does not pass params by reference. See Overloading.

    use NorseBlue\Prim\Facades\Scalar\StringFacade as Str;
    
    echo Str::upper('my string');
    
    // Outputs:
    // MY STRING
  3. Using the namespaced functions:

    use NorseBlue\Prim\string;
    
    $str = string('my string');
    echo $str->upper();
    
    // Outputs:
    // MY STRING

You can also chain methods together:

use NorseBlue\Prim\string;

$str = string('THIS IS MY TEXT.')->lower()->ucfirst();
echo $str;

// Outputs:
// This is my text.

You don't need to worry about side-effects for scalar objects, as they are implemented as immutable objects and each method returns a new object. To store the value don't forget to assign it to a variable or it will be lost.

Documentation

For the full documentation refer to the docs folder.

Changelog

Please refer to the CHANGELOG.md file for more information about what has changed recently.

Contributing

Contributions to this project are accepted and encouraged. Please read the CONTRIBUTING.md file for details on contributions.

Credits

Security

If you discover any security related issues, please email security@norse.blue instead of using the issue tracker.

Support the development

Do you like this project? Support it by donating

Buy me a coffee

License

PHP Prim is open-sourced software licensed under the MIT license.

You can’t perform that action at this time.