raxos / foundation
Base stuff for all Raxos libraries.
Requires
- php: >=8.5
- ext-dom: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-simplexml: *
- jetbrains/phpstorm-attributes: ^1.2
- raxos/contract: *
- raxos/error: *
Requires (Dev)
- pestphp/pest: ^5.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.9.0
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2026-10-03 12:06:03 UTC
README
Raxos Foundation
Shared value objects, access traits and utility functions used throughout Raxos.
Documentation | Packagist | Raxos
Option,SomeandNonefor optional values.- IP parsing and array/magic-property access traits.
- Array, string, color, filesystem, math, reflection and XML utilities.
- Singleton instances, stopwatches and preloading helpers.
Installation
Requires PHP 8.5 or later. Enable the dom, intl, json, mbstring, openssl, simplexml PHP extensions. Composer checks the remaining package and extension dependencies declared in composer.json.
composer require "raxos/foundation:^3.2"
Usage
<?php declare(strict_types=1); use Raxos\Foundation\Network\IP; use Raxos\Foundation\Option\Option; require __DIR__ . '/vendor/autoload.php'; $ip = IP::parse('203.0.113.10'); $label = Option::fromValue($ip?->value) ->map(static fn(string $value): string => "Client {$value}") ->getOrElse('Unknown client'); echo $label;
Option::fromValue() treats null as absent by default; values such as 0, false and an empty string remain present. Pass a different sentinel as the second argument when needed.
Documentation
Testing
Run this library's Pest suite from the Raxos workspace:
git clone --recurse-submodules https://github.com/basmilius/raxos.git
cd raxos
composer install
vendor/bin/pest --testsuite=foundation
See Testing Raxos for PHP extensions, integration services and coverage commands. The library's Tests workflow also runs in GitHub Actions.
License
MIT. Copyright (c) 2017 - present Bas Milius.