Notification.php
TLDR
The provided file, Notification.php
, is a class file in the Illuminate\Support\Facades
namespace. It extends the Facade
class and provides static methods for managing notifications and sending them through different channels. It also includes a method for replacing the bound instance with a fake for testing purposes.
Methods
fake
This method replaces the bound instance with a fake instance of the NotificationFake
class.
route
This method returns an instance of AnonymousNotifiable
and associates a route with the specified channel.
getFacadeAccessor
This protected method returns the class name ChannelManager
which is used as the accessor for the facade.
Classes
There are no additional classes in this file.
<?php
namespace Illuminate\Support\Facades;
use Illuminate\Notifications\AnonymousNotifiable;
use Illuminate\Notifications\ChannelManager;
use Illuminate\Support\Testing\Fakes\NotificationFake;
/**
* @method static void send(\Illuminate\Support\Collection|array|mixed $notifiables, mixed $notification)
* @method static void sendNow(\Illuminate\Support\Collection|array|mixed $notifiables, mixed $notification, array|null $channels = null)
* @method static mixed channel(string|null $name = null)
* @method static string getDefaultDriver()
* @method static string deliversVia()
* @method static void deliverVia(string $channel)
* @method static \Illuminate\Notifications\ChannelManager locale(string $locale)
* @method static mixed driver(string|null $driver = null)
* @method static \Illuminate\Notifications\ChannelManager extend(string $driver, \Closure $callback)
* @method static array getDrivers()
* @method static \Illuminate\Contracts\Container\Container getContainer()
* @method static \Illuminate\Notifications\ChannelManager setContainer(\Illuminate\Contracts\Container\Container $container)
* @method static \Illuminate\Notifications\ChannelManager forgetDrivers()
* @method static void assertSentOnDemand(string|\Closure $notification, callable|null $callback = null)
* @method static void assertSentTo(mixed $notifiable, string|\Closure $notification, callable|null $callback = null)
* @method static void assertSentOnDemandTimes(string $notification, int $times = 1)
* @method static void assertSentToTimes(mixed $notifiable, string $notification, int $times = 1)
* @method static void assertNotSentTo(mixed $notifiable, string|\Closure $notification, callable|null $callback = null)
* @method static void assertNothingSent()
* @method static void assertNothingSentTo(mixed $notifiable)
* @method static void assertSentTimes(string $notification, int $expectedCount)
* @method static void assertCount(int $expectedCount)
* @method static \Illuminate\Support\Collection sent(mixed $notifiable, string $notification, callable|null $callback = null)
* @method static bool hasSent(mixed $notifiable, string $notification)
* @method static array sentNotifications()
* @method static void macro(string $name, object|callable $macro)
* @method static void mixin(object $mixin, bool $replace = true)
* @method static bool hasMacro(string $name)
* @method static void flushMacros()
*
* @see \Illuminate\Notifications\ChannelManager
* @see \Illuminate\Support\Testing\Fakes\NotificationFake
*/
class Notification extends Facade
{
/**
* Replace the bound instance with a fake.
*
* @return \Illuminate\Support\Testing\Fakes\NotificationFake
*/
public static function fake()
{
return tap(new NotificationFake, function ($fake) {
static::swap($fake);
});
}
/**
* Begin sending a notification to an anonymous notifiable.
*
* @param string $channel
* @param mixed $route
* @return \Illuminate\Notifications\AnonymousNotifiable
*/
public static function route($channel, $route)
{
return (new AnonymousNotifiable)->route($channel, $route);
}
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor()
{
return ChannelManager::class;
}
}