composer require rinvex/support. Before you do, open the package's composer.json and check the php and illuminate/* constraints—the package targets Laravel 6–8 era releases and will refuse to install on newer Laravel versions without a fork.Rinvex\Support\Providers\SupportServiceProvider. That provider is the entry point: it loads the package's helpers file, binds the package contracts, and registers the custom validation rules. Skim it first—it is the map of everything the package does.php artisan vendor:publish --provider="Rinvex\Support\Providers\SupportServiceProvider"
Inspect the publish tags in the provider to see what is available (config, views, translations).src/Validators/CustomValidator.php — the extra validation rules the package adds on top of Laravel's built-ins.src/Http/Controllers/BaseController.php — a CRUD scaffolding controller that subclasses Illuminate\Routing\Controller.src/Traits/ and src/Contracts/ — the shared behavior surface used by other Rinvex packages.src/helpers.php — global helper functions loaded via Composer's files autoload.BaseController for an admin CRUD screen, or use one of the custom validator rules in a FormRequest as soon as the service provider is registered. Both are single-file wins that do not require you to adopt the rest of the package.BaseController. Subclass it, then set the four protected properties it expects: $repository (a repository instance), $resource (the Eloquent model class), $viewPrefix, and $routePrefix. The base class then implements index, show, create, store, edit, update, and destroy, delegating persistence to the repository and rendering views under $viewPrefix. Your concrete controller only needs to override validation rules and add hooks where your domain differs (e.g., eager-loading, filters, authorization).BaseController deliberately leaves validation to you. Keep store/update rules in FormRequest classes and override the base's validation method so authorization and messages stay idiomatic Laravel.CustomValidator are available by name inside Validator::make/FormRequest rules arrays. Confirm the exact rule names in CustomValidator.php—do not guess from documentation, since the package is unmaintained and rules have shifted across versions.boot using Validator::extend / Validator::replacer. The package itself uses this pattern, so extending it is straightforward.AppServiceProvider::register to swap implementations without touching the package—this is the cleanest extension point.src/Traits/ are designed to be dropped into Eloquent models (use SomeTrait;). Check each trait's required columns and any boot methods it adds before applying them; several Rinvex traits mutate behavior via boot* methods and expect specific schema columns.helpers.php functions are globally available after autoload. Wrap them in your own small service if you want to isolate application code from the archived package and make future removal (or replacement) easier.rinvex/support, treat this as a peer dependency: keep the version pinned, let it resolve the shared contracts, and avoid extending its base classes deeper than one level so an eventual replacement is not a rewrite.composer.json and add a conflict entry if your app ever moves to a newer Laravel; the safest long-term move is to fork it into a packages/ directory you control.BaseController types its $repository against a repository contract (from the Rinvex repository package family). You cannot use BaseController with a plain Eloquent model—either install the matching repository package or vendor/copy the base controller and replace the type hint.uuid) later became Laravel built-ins. On newer Laravel the package's registration may shadow or be shadowed by Laravel's, producing inconsistent behavior. Audit rule names against Illuminate\Validation\Concerns\ValidatesAttributes.files, two packages defining the same function name will fatal at boot. When you see Cannot redeclare function …, this is the cause; you can only avoid it by not installing both packages or by aliasing calls.dont-discover), remember to register the provider manually; otherwise the validator rules and helpers silently disappear. Symptom: Method [validate*] does not exist or Call to undefined function.BaseController renders $viewPrefix . '.index' etc. A missing trailing dot or a mismatch with your resources/views layout produces 404s on views rather than controllers. Dump the resolved view name in one method to confirm.php artisan tinker, run Validator::make([], [])->getRules() or inspect app('validator') extensions to see which rules exist. This is the fastest way to know whether the provider booted and which rules the package actually contributed.AppServiceProvider, and overriding methods in your own subclass are safe. Reaching into package internals (protected properties, protected function overrides beyond documented hooks) is fragile—record exactly what you override so a fork stays possible.How can I help you explore Laravel packages today?