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

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.
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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport