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

Collage Laravel Package

tzsk/collage

tzsk/collage is a Laravel package for combining multiple images into a single collage. Configure layouts, sizing, and spacing, then render a composited image through a simple API—useful for galleries, thumbnails, product grids, and social media previews.

View on GitHub
Deep Wiki
Context7

Getting Started

This release (7.0.0) is primarily a tooling and platform-support bump: it adds Laravel 10.x support and a Pint style checker, while dropping PHP 8.0 and PHP CS Fixer. Treat it as an upgrade gate rather than a feature release.

  1. Confirm your platform baseline before anything else. You now need PHP 8.1+ and Laravel 10.x to install this version. If your app or CI matrix still runs PHP 8.0, either stay on the previous major or schedule the PHP upgrade first — there is no compatibility shim in this release.
  2. Install/upgrade:
    composer require --dev vendor/package:^7.0
    
    (Pin the major explicitly; the PHP constraint change makes composer update fail loudly on 8.0, which is the intended behavior.)
  3. Look first at the published config and the Composer scripts — that is where the Pint wiring lives in this release. Publish config if the package exposes it:
    php artisan vendor:publish --tag=<package>-config
    
  4. First real use case: add the style check to your local loop and CI so the new Pint integration does something on day one:
    ./vendor/bin/pint --test
    

If you were relying on PHP CS Fixer through this package, that path is gone in 7.0 — budget a short migration (see Gotchas) before upgrading production branches.

Implementation Patterns

Composer script as the single entry point. Wire the style checker into composer.json so local runs and CI use identical commands:

"scripts": {
    "lint": "./vendor/bin/pint --test",
    "lint:fix": "./vendor/bin/pint"
}

CI gate, not a formatter. Run pint --test in CI and pint locally/pre-commit. --test exits non-zero on diffs, which is exactly what you want in a pull-request check; letting CI rewrite files produces noisy, un-reviewable commits.

Per-package / per-directory config. Point Pint at a pint.json at the repo root and scope it to the directories this package owns (src, tests, config). This matters in monorepos or apps with vendored/legacy folders you do not want reformatted in the same PR as the upgrade.

Upgrade workflow for an existing app:

  1. Bump PHP in CI and composer.json ("php": "^8.1").
  2. Upgrade the package to ^7.0 on a branch with no other changes.
  3. Run ./vendor/bin/pint --test to see the real diff surface, then ./vendor/bin/pint in a separate, style-only commit. Keeping the dependency bump and the reformat apart makes review and git blame survivable.
  4. Merge the bump, then the style commit.

Laravel 10 integration. If you use Laravel Pint's preset with Laravel-flavored rules, this release lines the package up with the Laravel 10 defaults. Where the package exposes config, prefer the named preset over hand-rolled rule arrays — rule names move between Pint majors and a preset insulates you.

Pre-commit hook (optional but cheap). A lint-staged-style hook or a Husky/simple-git-hooks entry running pint on staged files only keeps the main branch clean without forcing full-repo reformats on every commit.

Gotchas and Tips

  • 7.0.0 is breaking in two directions. Dropping PHP 8.0 and removing PHP CS Fixer are both hard breaks. If your composer.json allow-lists php-cs-fixer transitively via this package, it will disappear from vendor/bin after the upgrade — grep your scripts, Makefiles, and CI YAML for php-cs-fixer / php-cs-fixer fix before merging.
  • Migrating off PHP CS Fixer. Pint is a thin wrapper over php-cs-fixer internally but the CLI and config format differ. Rule arrays generally translate, but fixers → rules, presets, and the --dry-run flag map to --test. Do not assume a 1:1 config copy; run pint --test and diff the results against a php-cs-fixer --dry-run --diff baseline on the old version first.
  • --test vs --test --diff. Without --diff you get a file list and exit code but no visibility into what would change — the most common "why is CI red?" moment. Add --diff (or -v) when debugging.
  • Pint rewrites in place. Only --test is safe in CI. A stray pint in a CI step will silently mutate the workspace and produce a green build that never lands the formatting.
  • Composer lockfile conflicts. Because the PHP constraint changed, a composer update on a machine with PHP 8.0 fails; use --ignore-platform-req=php only to inspect the resolution, never to deploy.
  • Pint runs fast but not free on large repos. Scope it to changed directories in pre-commit hooks (pint --dirty where available) and keep full-repo checks for CI.
  • Extension point: if the package publishes a config file, that is the supported seam — prefer it (or a root pint.json) over editing vendor files, and re-check it after every minor, since rule sets are the most common source of surprise diffs in style tooling releases.
  • No functional/runtime changes here. This release does not alter application behavior; if you are seeing runtime bugs, the dependency bump is a red herring and you should diff composer.lock for transitive upgrades rather than assuming the package is at fault.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo