azjezz/psl

PHP Standard Library

Maintainers

Details

github.com/azjezz/psl

Source

Issues

Fund package maintenance!
azjezz

Installs: 8 006 262

Dependents: 81

Suggesters: 2

Security: 0

Stars: 1 314

Watchers: 21

Forks: 77

Open Issues: 29


README

Important

πŸ‡΅πŸ‡Έ Support Palestine πŸ‡΅πŸ‡Έ

In light of recent events in Gaza, I encourage everyone to educate themselves on the ongoing issues in Palestine and consider supporting the people there. Here are some resources and donation links:

Thank you for taking a moment to bring awareness and make a difference. πŸ‡΅πŸ‡Έβ€οΈ

Psl - PHP Standard Library

Unit tests status Static analysis status Coding standards status Coding standards status CII Best Practices Coverage Status MSI 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\Async;
use Psl\TCP;
use Psl\IO;
use Psl\Shell;
use Psl\Str;

Async\main(static function(): int {
    IO\write_line('Hello, World!');

    [$version, $connection] = Async\concurrently([
        static fn() => Shell\execute('php', ['-v']),
        static fn() => TCP\connect('localhost', 1337),
    ]);

    $messages = Str\split($version, "\n");
    foreach($messages as $message) {
        $connection->writeAll($message);
    }

    $connection->close();

    return 0;
});

Installation

Supported installation method is via composer:

composer require azjezz/psl:^4.0

Psalm Integration

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

PHPStan Integration

Please refer to the php-standard-library/phpstan-extension repository.

Documentation

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

Interested in contributing?

Have a look at CONTRIBUTING.md.

License

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