forked from laravel/framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[10.x] Minor skeleton slimming (framework edition) (laravel#46786)
* allow web and api named args on routes method * add app skeleton broadcast provider in core * add default provider collection * remove base broadcast service provider * Apply fixes from StyleCI * revert route provider change --------- Co-authored-by: StyleCI Bot <[email protected]>
- Loading branch information
1 parent
d95f865
commit 0720d08
Showing
2 changed files
with
112 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
<?php | ||
|
||
namespace Illuminate\Support; | ||
|
||
class DefaultProviders | ||
{ | ||
/** | ||
* The current providers. | ||
* | ||
* @var array | ||
*/ | ||
protected $providers; | ||
|
||
/** | ||
* Create a new default provider collection. | ||
* | ||
* @return void | ||
*/ | ||
public function __construct(?array $providers = null) | ||
{ | ||
$this->providers = $providers ?: [ | ||
\Illuminate\Auth\AuthServiceProvider::class, | ||
\Illuminate\Broadcasting\BroadcastServiceProvider::class, | ||
\Illuminate\Bus\BusServiceProvider::class, | ||
\Illuminate\Cache\CacheServiceProvider::class, | ||
\Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, | ||
\Illuminate\Cookie\CookieServiceProvider::class, | ||
\Illuminate\Database\DatabaseServiceProvider::class, | ||
\Illuminate\Encryption\EncryptionServiceProvider::class, | ||
\Illuminate\Filesystem\FilesystemServiceProvider::class, | ||
\Illuminate\Foundation\Providers\FoundationServiceProvider::class, | ||
\Illuminate\Hashing\HashServiceProvider::class, | ||
\Illuminate\Mail\MailServiceProvider::class, | ||
\Illuminate\Notifications\NotificationServiceProvider::class, | ||
\Illuminate\Pagination\PaginationServiceProvider::class, | ||
\Illuminate\Pipeline\PipelineServiceProvider::class, | ||
\Illuminate\Queue\QueueServiceProvider::class, | ||
\Illuminate\Redis\RedisServiceProvider::class, | ||
\Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, | ||
\Illuminate\Session\SessionServiceProvider::class, | ||
\Illuminate\Translation\TranslationServiceProvider::class, | ||
\Illuminate\Validation\ValidationServiceProvider::class, | ||
\Illuminate\View\ViewServiceProvider::class, | ||
]; | ||
} | ||
|
||
/** | ||
* Merge the given providers into the provider collection. | ||
* | ||
* @param array $providers | ||
* @return static | ||
*/ | ||
public function merge(array $providers) | ||
{ | ||
$this->providers = array_merge($this->providers, $providers); | ||
|
||
return new static($this->providers); | ||
} | ||
|
||
/** | ||
* Replace the given providers with other providers. | ||
* | ||
* @param array $items | ||
* @return static | ||
*/ | ||
public function replace(array $replacements) | ||
{ | ||
$current = collect($this->providers); | ||
|
||
foreach ($replacements as $from => $to) { | ||
$key = $current->search($from); | ||
|
||
$current = $key ? $current->replace([$key => $to]) : $current; | ||
} | ||
|
||
return new static($current->values()->toArray()); | ||
} | ||
|
||
/** | ||
* Disable the given providers. | ||
* | ||
* @param array $providers | ||
* @return static | ||
*/ | ||
public function except(array $providers) | ||
{ | ||
return new static(collect($this->providers) | ||
->reject(fn ($p) => in_array($p, $providers)) | ||
->values() | ||
->toArray()); | ||
} | ||
|
||
/** | ||
* Convert the provider collection to an array. | ||
* | ||
* @return array | ||
*/ | ||
public function toArray() | ||
{ | ||
return $this->providers; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters