use App\Events\BookRead;
use App\Listeners\SendReadNotification;
protected $listen = [
BookRead::class => [
SendReadNotification::class,
],
];
protected $listen = [
'App\Events\BookWasPurchased' => [
'App\Listeners\EmailPurchaseConfirmation',
],
];
php artisan event:generate
php artisan make:event BookRead
php artisan make:listener SendReadNotification--event=BookRead
<?php
trait Reader
{
public function read($bookname)
{
return "I have read $bookname.";
}
}
class Librarian {
use Reader;
}
class Patron {
use Reader;
}
$evelyn = new Librarian();
echo $evelyn->read("The Book of the Dead");
echo "<br>";
$jonatan = new Patron();
echo $jonatan->read("The Golden Book of Amun-Ra");
?>
I have read The Book of the Dead.
I have read The Golden Book of Amun-Ra.
class ADependency {}
class ASecondDependency {}
class UserRepository {
protected $aDependency;
protected $aSecondDependency;
public function __construct(ADependency $dependency, ASecondDependency $secondDependency){
$this->$aDependency = $dependency;
$this->$aSecondDependency = $secondDependency;
}
}
Route::get('/', function(){
var_dump(App::make('UserRepository'));
});
$this->app->bind(
'ADependency',
'ASubDependency'
);
class AnotherDependency {}
class YetAnotherDependency extends AnotherDependency {}
class ADependency {
protected $anotherDependency;
public function __construct(AnotherDependency $anoDependency){
$this->$anotherDependency = $anoDependency;
}
}
class ASecondDependency {
protected $anotherDependency;
public function __construct(AnotherDependency $anoDependency){
$this->$anotherDependency = $anoDependency;
}
}
$this->app->when(UserRepository::class)
->needs(AnotherDependency::class)
->give(function () {
return new AnotherDependency();;
});
$this->app->when([ADependency::class, ASecondDependency::class])
->needs(AnotherDependency::class)
->give(function () {
return new YetAnotherDependency();
});
Мы - ИТ кадровое агентство, которое поможет вам найти разработчиков за менее чем 2 недели. Свяжитесь с нами уже сегодня, чтобы узнать, как мы можем помочь масштабировать ваш следующий проект. Мы гарантируем поиск самого сильного кандидата, а не самого дорогого. За 10 лет мы закрыли более 5500 вакансий и собрали более 25 команд с нуля. Вы можете ознакомиться с отзывами наших клиентов о нашем рекрутинговом агентстве. Если вам нужны дополнительные референсы, напишите нам в Telegram.