GitHunt
VE

veewee/psl

[WIP] Psl - PHP Standard Library

Psl - PHP Standard Library

Unit tests status
Static analysis status
Security analysis status
Coding standards status
Coding standards status
CII Best Practices
Coverage Status
Type Coverage
Total Downloads
Latest Stable Version
License

Psl is a standard library for PHP, inspired by hhvm/hsl.

The goal of Psl is to provide a consistent, centralized, well-typed set of APIs for PHP programmers.

Example

<?php

declare(strict_types=1);

use Psl\{Str, Vec};

/**
 * @psalm-param iterable<?int> $codes
 */
function foo(iterable $codes): string
{
    $codes = Vec\filter_nulls($codes);

    $chars = Vec\map($codes, fn(int $code): string => Str\chr($code));

    return Str\join($chars, ', ');
}

foo([95, 96, null, 98]);
// 'a, b, d'

Installation

Supported installation method is via composer:

composer require azjezz/psl

Psalm Integration

Please refer to the php-standard-library/psalm-plugin repository.

Documentation

You can read through the API documentation in docs/ directory.

Interested in contributing?

Have a look at CONTRIBUTING.md.

Sponsors

Thanks to our sponsors and supporters:

JetBrains

License

The MIT License (MIT). Please see LICENSE for more information.

Languages

PHP99.9%Makefile0.1%
MIT License
Created September 28, 2020
Updated March 17, 2026
veewee/psl | GitHunt