collegeman/fuerte
Fuerte is a small Laravel package by Collegeman that adds a clean, configurable layer for everyday PHP tasks. It installs quickly, works with existing Laravel projects, and keeps setup minimal so developers can integrate it without unnecessary dependencies or boilerplate.
composer require collegeman/fuerte. The package advertises zero dependencies, so it won't drag transitive packages into your lockfile.Collegeman\Fuerte\FuerteServiceProvider in config/app.php and add the Fuerte facade alias if the README lists one.php artisan vendor:publish --provider="Collegeman\Fuerte\FuerteServiceProvider". If nothing publishes, there is nothing to configure.src/ — this is a single-purpose generator, so the whole surface area is one class plus a service provider.Str::random() / str_random() where you provision accounts, reset passwords, or seed users. The point of Fuerte over Laravel's helper is character-class guarantees (upper/lower/digit/symbol), not raw length.use Collegeman\Fuerte\Fuerte;
// Confirm the exact method name/options in the README before shipping.
$plain = Fuerte::generate(16);
PasswordGenerator service in the container that delegates to Fuerte. Facade calls are convenient but make it harder to fake in tests and to swap later — and for a package this small, swapping later is realistic.'password' => Hash::make(Fuerte::generate(20)),
Use a fixed length you also validate against, so seeded accounts can't drift from your policy.Hash::make() / bcrypt() / argon2. Don't mistake generation for storage.function_exists() so the plugin degrades gracefully if the library isn't loaded.random_bytes() / Str::random(64). Fuerte is tuned for human-transcribable passwords, which is a different optimization target than maximum entropy.random_int/random_bytes (PHP) and crypto.getRandomValues (JS). If it falls back to mt_rand/Math.random, do not use it for production credentials, regardless of what the character sets look like.0/O, 1/l/I by default. Great for usability, surprising if your policy or a downstream system expects a specific character mix. Read the defaults."collegeman/fuerte": "^1.0"), and seriously consider vendoring the generator — it's small enough that copying one file may beat taking the dependency.require in composer.json; older packages can predate PHP 8 and trip deprecations or type errors under modern runtimes.php artisan config:cache on deploy — stale cached config is the classic "my setting is ignored" bug.strlen() and a charset regex, never an exact value. If you need determinism in tests, inject a fake generator rather than reaching for the facade.final, subclass it to add your own alphabet/policy and bind that in the container; otherwise wrap it — which is the safer default either way.How can I help you explore Laravel packages today?