Skip to content
Snippets Groups Projects
Modules.php 1.89 KiB
Newer Older

// Cannot extend BaseConfig or looping resources occurs.
class Modules
{
     |--------------------------------------------------------------------------
     | Auto-Discovery Enabled?
     |--------------------------------------------------------------------------
     |
     | If true, then auto-discovery will happen across all elements listed in
     | $activeExplorers below. If false, no auto-discovery will happen at all,
     | giving a slight performance boost.
     */
     |--------------------------------------------------------------------------
     | Auto-Discovery Within Composer Packages Enabled?
     |--------------------------------------------------------------------------
     |
     | If true, then auto-discovery will happen across all namespaces loaded
     | by Composer, as well as the namespaces configured locally.
     */
    public $discoverInComposer = true;
    |--------------------------------------------------------------------------
    | Auto-discover Rules
    |--------------------------------------------------------------------------
    |
    | Lists the aliases of all discovery classes that will be active
    | and used during the current application request. If it is not
    | listed here, only the base application elements will be used.
    */
    public $activeExplorers = ['events', 'registrars', 'routes', 'services'];
    /**
     * Should the application auto-discover the requested resources.
     *
     * Valid values are:
     *  - events
     *  - registrars
     *  - routes
     *  - services
     *
     * @param string $alias
     *
     * @return boolean
     */
    public function shouldDiscover(string $alias)
    {
        if (!$this->enabled) {
            return false;
        }
        $alias = strtolower($alias);
        return in_array($alias, $this->activeExplorers);
    }