Download the PHP package drivkraft/interlock without Composer

On this page you can find all versions of the php package drivkraft/interlock. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package interlock

Laravel Interlock

Packagist PHP from Packagist Laravel versions GitHub Workflow Status (main) Total Downloads

Lightweight architecture manager for structuring Laravel apps with modules.

A module is a folder in modules/ with its own composer.json, classes, routes, views, translations and migrations. The package discovers and registers everything a module contains, and adds module:* generators that write straight into a module.

Requirements: PHP 8.5+, Laravel 13.

Installation

Module autoloading uses wikimedia/composer-merge-plugin, which the package requires. Composer only reads the plugin's settings from your application, so add them to its composer.json and run composer dump-autoload:

Without allow-plugins, non-interactive installs (CI) fail.

Configuration

Quick Start

No registration needed: the provider, routes, views, translations and migrations are discovered. make:module runs composer dump-autoload (skip with --no-dump) and asks which parts to create; without interaction it creates all except --api.

How-to Guides

Generate classes inside a module

Every make:* command has a module:* counterpart with the same options plus --module (prompted when omitted, required with --no-interaction). Module-aware differences:

make:* is unchanged and still writes to app/.

Actions and data objects

module:action adds AsAction when lorisleiva/laravel-actions is installed; module:data extends Spatie\LaravelData\Data when spatie/laravel-data is installed, otherwise a final readonly class. Names are used as given; no suffix is added.

Change generator folders

Set directories.{generator} to a folder relative to source, for example 'interface' => 'Interfaces' or 'class' => 'Support'. Unlisted generators use Laravel's defaults. Nested names (module:enum Billing/Status) go below the configured folder.

Add route groups

Every module's routes/tenant.php now loads in that group. Route files not in the map load without a group.

Translations, components and Livewire

Seed a module

make:module creates the module's DatabaseSeeder with the seeders part.

Custom module stubs

With custom stubs, make:module writes the whole map and skips the parts prompt. Paths and contents support the placeholders. Include a composer.json with a PSR-4 entry for source.

Cache discovery in production

php artisan optimize runs module:cache, and optimize:clear runs module:clear. While cached, new modules and discovered classes are ignored until you run module:clear (make:module does this for you).

Find modules from code

module() matches the folder name or its kebab-case form.

Explanation

Discovery. Any folder in path with a composer.json is a module, named after the folder. Its namespace comes from the PSR-4 entry pointing at source, falling back to {namespace}\{Name}\. On boot the package builds a manifest of everything each module contains; providers are registered during Laravel's register phase, the rest at boot. module:cache snapshots the manifest, like Laravel's config and route caches.

Autoloading. Modules are plain Composer autoload entries merged by the merge plugin rather than registered at runtime. Module classes therefore work with optimised and authoritative classmaps, exist before Laravel boots, and are visible to IDEs and static analysis. The cost is a dump-autoload per new module.

Generators. Each module:* command extends its make:* counterpart and only changes the target namespace and path, so all options, and future ones, keep working. References to your application in Laravel's stubs stay in App\, so a module controller still extends App\Http\Controllers\Controller.

Optional integrations. Livewire, laravel-actions and laravel-data are detected at runtime and never required. They only change what the generators produce.

Reference

Commands

Command Description
make:module {name} Create a module. --web, --api, --views, --lang, --migrations, --factories, --seeders, --tests, --all, --no-dump. Existing files are skipped.
module:list List modules with namespace and path.
module:cache / module:clear Write or delete the discovery cache. Hooked into optimize / optimize:clear.
module:seed db:seed for a module.
module:action, module:data See Actions and data objects.

Generators mirroring make:*: cast, channel, class, command, component, controller, enum, event, exception, factory, interface, job, job-middleware, listener, livewire, livewire-form, mail, middleware, migration, model, notification, observer, policy, provider, request, resource, rule, scope, seeder, test, trait.

What gets discovered

Module path Registered as
src/Providers/*ServiceProvider.php Service providers
routes/{name}.php Routes in the routes.{name} group (web; api with /api prefix), or ungrouped
resources/views billing:: view namespace
lang billing:: translations, plus JSON translations
src/View/Components, resources/views/components <x-billing::...> components
src/Livewire, resources/views/components billing:: Livewire namespace (Livewire only)
src/Console/Commands Artisan commands
src/Listeners Event listeners
database/migrations Migration path
database/factories Factories for src/Models/*

Stub placeholders

Placeholder make:module billing
StubModuleName / StubModuleNameSingular / StubModuleNamePlural billing / billing / billings
StubClassNamePrefix Billing
StubModuleNamespace Module
StubSourceDirectory src
StubBasePath Absolute module path
StubMigrationPrefix 2026_10_23_120000
StubTestCaseBase / StubFullyQualifiedTestCaseBase TestCase / Tests\TestCase

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Thank you for considering contributing to Interlock! Please review our contributing guide to get started.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

Interlock is open-sourced software licensed under the MIT license.


All versions of interlock with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4|^8.5
laravel/framework Version ^13.0
laravel/prompts Version ^0.3.25
symfony/finder Version ^7.4||^8.0
wikimedia/composer-merge-plugin Version ^2.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package drivkraft/interlock contains the following files

Loading the files please wait ...