Download the PHP package iotronlab/filament-multi-guard without Composer

On this page you can find all versions of the php package iotronlab/filament-multi-guard. 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 filament-multi-guard

filament-multi-guard

Build Status Total Downloads Latest Stable Version License Watcher Release Language

This features have been natively added to Filament v3. Use this package for v2 only!

This package allows you to register multiple filament route/path based contexts in your application with their own set of resources, pages, widgets and guard. The contexts can also be used on the same guard instance. eg. for role based setups.

This package is derived from filament-multi-context package but doesn't include it as a dependency as the package doesn't support multiple guard instances.

Installation

You can install the package via composer:

Single Guard Usage

Create a new filament context with out GuardLogin and GuardMiddleware.

The above command will create the following files and directories:

Filament cannot be passed as a context to this command as it is reserved for the default filament installation

Register Provider: Be sure to add the FilamentTeamsServiceProvider class to your providers array in config/app.php

Multi Guard Usage

To create a new context with GuardLogin and GuardMiddleware.

or make a GuardLogin and GuardMiddleware for a already generated context

The above command will create the following files and directories:

Filament cannot be passed as a context to this command as it is reserved for the default filament installation

Register Provider: Be sure to add the FilamentTeamsServiceProvider class to your providers array in config/app.php

Replace the auth guard, pages login and middleware auth in the context config with the generated login page and middleware.

Now, you can go to /{context-path}/login to login to the new context. You can remove the dashboard from 'pages' in the context pages folder and implement your own dashboard.

You should implement the logout components UserMenuItem in a service provider with Filament::serving()

Adding Pages/Resources to context

You may now add filament resources in your FilamentTeams directories. Generate Filament pages/resources/widgets as you normally would. Move them into the context-folder and update the namespace.

Context Traits: be sure to add the ContextualPage and ContextualResource traits to their associated classes inside of your context directories. Without this when filament generates navigation links it will try to use filament.pages.* and filament.resources.{resource}.* instead of {context}.pages.* and {context}.resources.{resource}.* as the route names

ContextualPage & ContextualResource traits

Pages:

Resources:

Configuration

The config/filament-teams.php file contains a subset of the config/filament.php configuration file. The values in the filament-teams.php file can be adjusted and will only affect the pages, resources, widgets, and auth guard for the filament-teams context.

Currently the configuration values that can be modified for a specific context are:

ContextServiceProvider

Your ContextServiceProvider found in your app/Providers/FilamentTeamsServiceProvider.php is an extension of the Filament PluginServiceProvder so features of the PluginServiceProvider may be used for your context

Custom Page and Resource Routing

If you would like more control over the way pages and resources are routed you may override the componentRoutes() function in your FilamentTeamsServiceProvider

The Filament Facade

In order for this package to work the filament app service has been overriden. Each context is represented by its own FilamentMultiGuard\ContextManager extending Filament\FilamentManager object. Within your application calls to the filament facade (such as Filament::serving) will be proxied to the appropriate Filament\FilamentManager object based on the current context of your application (which is determined by the route of the request)

Context Functions

The following functions have been added to facilitate multiple Filament\FilamentManger objects in your application:

Testing

Changelog

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

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

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

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of filament-multi-guard with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0|^8.1
filament/filament Version ^2.15.16
illuminate/contracts Version ^9.0|^10.0
spatie/laravel-package-tools Version ^1.13.0|^1.14.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 iotronlab/filament-multi-guard contains the following files

Loading the files please wait ....