Как создать функцию с методами в Laravel

Мне нужно создать функцию этого типа, я не знаю, как это делается, и я хотел бы узнать

функция добавляет в базу данных и получает некоторые параметры

  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');

1

Решение

Это на самом деле довольно просто: первая функция возвращает экземпляр объекта, а последующие вызовы методов применяются к этому экземпляру (все они возвращают $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();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]