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

Laravel Make File Permissions Laravel Package

romanzipp/laravel-make-file-permissions

A Laravel package that automatically applies sensible file permissions to files and directories generated by Artisan make commands, so new classes, migrations, and other stubs never end up with overly permissive modes on production servers without manual chmod.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Start with the 1.1.0 release note: this is a Laravel 7 compatibility release. There are no new APIs, workflows, or deprecations described beyond expanded framework support.
  • First inspect the package metadata before installing:
    • composer.json for illuminate/* and PHP version constraints.
    • README for installation, service provider registration, config publishing, and required migrations.
    • CHANGELOG for the exact 1.1.0 delta.
    • src/ for the service provider, facade/contracts, config file, and extension points.
    • tests/ for supported Laravel/PHP combinations and expected integration style.
  • Minimal install flow:
    1. Confirm the app is on Laravel 7 and a compatible PHP version.
    2. composer require the package at ^1.1.
    3. Let Laravel package discovery register the service provider, or register it manually if discovery is disabled.
    4. Publish config/assets/migrations only if the package documentation requires it.
    5. Clear config cache after publishing: php artisan config:clear.
  • First practical use case: wire the package into one route/controller/job in a Laravel 7 app, then cover it with a feature test. Because 1.1.0 is compatibility-focused, prove it works in your app before rolling it across shared integrations.

Implementation Patterns

  • Treat 1.1.0 as a drop-in Laravel 7 compatibility update unless the package changelog says otherwise. Validate against your application’s Laravel constraint rather than assuming compatibility with Laravel 8+.
  • Keep package usage behind a thin application-level adapter when the package touches domain behavior. This makes future Laravel upgrades and package swaps cheaper.
  • Prefer dependency injection over facades in application code where practical; facades are fine for quick integration, but constructor injection makes testing and replacement easier.
  • Use the package’s service provider bindings and contracts as the main integration seam. If the package exposes events, custom drivers, or publishable config, prefer those extension points over modifying vendor code.
  • For existing Laravel 7 apps:
    • Upgrade the app to Laravel 7 first.
    • Run the app test suite before adding the package.
    • Add the package in a small branch and run package-specific and application-level feature tests.
  • For new Laravel 7 work, install ^1.1 directly and document the package’s required config, migrations, and environment variables in the project README.
  • Add a compatibility test in CI that runs at least one Laravel 7 job against the package integration. If the package is central, include it in the app’s upgrade matrix for future Laravel versions.

Gotchas and Tips

  • “Laravel 7 support” does not automatically mean Laravel 8+ support. Check composer.json constraints before upgrading the host application.
  • Laravel 7 has specific PHP minimum requirements. Use composer why-not package/name 1.1.0 to diagnose PHP or framework constraint conflicts.
  • If package discovery is disabled or the package predates discovery, the service provider may need manual registration in config/app.php.
  • After publishing config or changing environment variables, run php artisan config:clear. Config cache is a common source of “it works locally but not in production” package issues.
  • If migrations or publishable assets are required, verify they are published and committed or deployed correctly. Do not rely on local-only published files.
  • Use php artisan vendor:publish --provider="..." only after confirming the provider name from the package README or source.
  • For debugging, check:
    • composer show package/name
    • composer why-not package/name 1.1.0
    • Laravel logs
    • package service provider registration
    • published config values
    • test matrix results on Laravel 7
  • Extension points to look for: config values, container bindings, contracts/interfaces, events/listeners, custom drivers, publishable views/assets, and commands. Prefer these over subclassing vendor internals.
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console