Skip to content
Snippets Groups Projects
Modules.php 1.89 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    // 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);
        }