Download the PHP package baconfy/core without Composer

On this page you can find all versions of the php package baconfy/core. 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 core

Core

Tests Latest Version License Total Downloads PHP Version

The module system at the heart of the Baconfy ecosystem. It lets Composer packages register themselves as application modules — with a name, label, icon, entry route, navigation tree and visibility rules — so the application shell can discover and render them with zero configuration.

This package is pure PHP and has no opinion about your frontend. It is consumed by baconfy/interface, which turns registered modules into a launcher and sidebar.

Requirements

Installation

The service provider is auto-discovered. A ModuleRegistry singleton becomes available in the container.

Creating a module

A module is a regular Laravel package whose service provider extends ModuleProvider. Three methods are required:

That's it. The module is registered automatically when the provider boots.

Your boot() stays yours

ModuleProvider does not touch the boot() method — registration happens through a provider booting callback. Write your boot exactly the way you would in any Laravel package:

Conventions

The module name is the universal key. By convention it is also:

Concern Convention Override
Entry route {name}.index routeName(): ?string
Visibility gate gate named {name}, if defined can(): ?string
Launcher position order = 100 order(): int
JS page namespace extra.baconfy.module in composer.json — (must match name())

Visibility

Three rules, checked in order:

  1. Explicit can() — the module is visible only to users allowed by that gate.
  2. Convention gate — if a gate named after the module exists (Gate::define('notes', ...)), it decides. The application controls access without the module knowing.
  3. Otherwise — the module is public, including for guests.

Manifest validation

If the package's composer.json declares a Baconfy manifest, the module key must match the provider's name():

A mismatch throws ManifestMismatchException at boot — configuration errors die early and loudly. The manifest is optional: headless modules (no frontend pages) don't need one.

Navigation

Modules may expose a navigation tree by overriding navigation():

Lazy by design

label() and navigation() are never called during boot. They are wrapped in closures and evaluated only at serialization time, per request. This means:

Consuming the registry

Sharing modules with an Inertia frontend is a one-liner:

Each module serializes to:

url is null when the entry route doesn't exist; navigation is null when the module defines none.

Testing

The suite runs against PHP 8.3/8.4/8.5 × Laravel 11/12/13 in CI.

License

MIT.


All versions of core with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
illuminate/support Version ^12.0|^13.0
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 baconfy/core contains the following files

Loading the files please wait ...