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.
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
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope