Мне нужно создать функцию этого типа, я не знаю, как это делается, и я хотел бы узнать
функция добавляет в базу данных и получает некоторые параметры
event($user)->balande(2.00)->points(300);
пример https://github.com/spatie/laravel-activitylog
activity('default')
->performedOn($anEloquentModel)
->causedBy($user)
->withProperties(['customProperty' => 'customValue'])
->log('Look, I logged something');
Это на самом деле довольно просто: первая функция возвращает экземпляр объекта, а последующие вызовы методов применяются к этому экземпляру (все они возвращают $this
, что позволяет вам впоследствии связывать вызовы других методов). Посмотри на https://en.wikipedia.org/wiki/Fluent_interface
<?php
class Thing{
public function doThat(){
// [do something interesting in this object]
return $this;
}
public function doSomethingElse(){
// [do something interesting in this object]
return $this;
}
}
function Something(){
return new Thing();
}
Something()->doThat()->doSomethingElse();
Других решений пока нет …