Weave 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

Safe Writer Laravel Package

webimpress/safe-writer

Safely and atomically write files in PHP: create temp files, write/flush, then rename into place to avoid partial writes. Handles permissions, directories, and errors for reliable config/cache/log output in CLI and web apps.

View on GitHub
Deep Wiki
Context7
2.2.0

Added

  • Nothing.

Changed

  • #50 changes suppressing warnings in FileWriter::writeFile method. Custom error handler is used instead of @, so it is not possible to handle them outside anymore.

Deprecated

  • Nothing.

Removed

  • #51 removes support for PHP 7.2.

Fixed

  • Nothing.
2.1.0

Added

  • #7 adds support for PHP 8.0.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.
2.0.1

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #6 fixes issue when target directory is not writeable - throws exception earlier and prevents fallback to system temp directory.
1.0.2

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #6 fixes issue when target directory is not writeable - throws exception earlier and prevents fallback to system temp directory.
2.0.0

Added

  • #5 adds \Throwable extension for package-specific exception marker Webimpress\SafeWriter\Exception\ExceptionInterface.

Changed

  • #5 changes all exception classes to be non-instantiable and all theirs public method to be internal. Library exceptions can only be caught in the user code, cannot be thrown.

  • #5 changes all method declarations to have type hints and return types.

Deprecated

  • Nothing.

Removed

  • #5 removes support for PHP versions prior to 7.2.

Fixed

  • Nothing.
1.0.1

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #4 fixes exception message when temporary file cannot be created.
1.0.0

Added

  • Adds function to safely writing files to avoid race conditions when the same file is written multiple times in a short time period, and errors on reading not fully written files. Example usage:

    use Webimpress\SafeWriter\FileWriter;
    
    $targetFile = __DIR__ . '/config-cache.php';
    $content = "<?php\nreturn " . var_export($data, true) . ';';
    
    FileWriter::writeFile($targetFile, $content, 0666);
    

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.
2.2.1

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.
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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log