Storage facade) or caching layers (e.g., FileCache). Would require wrapper layer for seamless adoption.symfony/finder, league/flysystem).File::put()) are tightly coupled.config('filesystems')).realpath(), pathinfo(), and DIRECTORY_SEPARATOR. What problem does this package solve that PHP’s built-ins don’t?Str::of($path)->afterLast('/').symfony/filesystem (more mature, Laravel-compatible).spatie/array-to-xml (if XML path serialization is needed).Storage::put())?composer require dontdrinkandroot/path.microtime() benchmarks).// app/Providers/PathServiceProvider.php
public function register() {
app()->bind('path', function () {
return new \DontDrinkAndRoot\Path\Path(__DIR__);
});
}
\ vs. /). Useful if Laravel app supports both.Storage facade. Would need manual path conversion.FileCache).->path() method to extract strings.symfony/filesystem or native PHP.composer.json.Path::resolve()->path for Storage facade").Path objects; serialize to strings.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Package abandonment | Broken functionality | Fork immediately; replace with symfony/filesystem. |
| Path resolution bugs | File not found errors | Add unit tests with edge cases (e.g., ../../). |
| Immutable design conflicts | Laravel’s mutable filesystem APIs | Use ->path() to extract strings. |
| Cross-platform path issues | Windows/Linux path mismatches | Test on both OSes early. |
Storage::disk()").phpstan/psalm for static analysis.pestphp to test path edge cases.How can I help you explore Laravel packages today?