Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Psl Laravel Package

azjezz/psl

PSL (PHP Standard Library) offers a consistent, well-typed set of safer, async-ready APIs to replace PHP primitives. Covers async, collections, networking, I/O, cryptography, terminal UI, and type-safe data validation with predictable errors.

View on GitHub
Deep Wiki
Context7

Process

The Process component provides a typed, non-blocking API for spawning and managing child processes, built on top of PSL's IO system.

It serves as an alternative to proc_*, symfony/process, and amphp/process, with an API inspired by Rust's std::process module adapted to PSL conventions.

Usage

@example('io/process-output.php')

Command Construction

Command is an immutable builder. All with*() methods return a new instance.

  • Command::create(string $program) -- executes a program directly, bypassing the shell. Prevents shell injection and is the recommended approach.
  • Command::shell(string $command) -- interpreted by the system shell (/bin/sh -c on Unix, cmd.exe on Windows). Allows pipes, globbing, and variable expansion.

Stdio Configuration

Stdio controls what happens with each standard I/O stream:

  • Stdio::piped() -- pipe between parent and child (default for stdout/stderr)
  • Stdio::inherit() -- child inherits the parent's descriptor
  • Stdio::null() -- attach to /dev/null (default for stdin)
  • Stdio::tty() -- connect directly to the terminal, useful for interactive programs (Unix only)
  • Stdio::fromStreamHandle($handle) -- use an existing stream handle

Examples

Collect Output

@example('io/process-collect-output.php')

Check Exit Status

@example('io/process-exit-status.php')

Write to Stdin

@example('io/process-stdin.php')

Shell Commands

@example('io/process-shell.php')

Cancellation

@example('io/process-timeout.php')

Signals

@example('io/process-signals.php')

Environment Variables

@example('io/process-environment.php')

Non-Blocking Poll

@example('io/process-poll.php')

See src/Psl/Process/ for the full API.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle