Chcę zastąpić klasę budowniczych Laravels własną, która się przed nią rozszerza. Myślałem, że to będzie tak proste jak sprawa App::bind
, ale wygląda na to, że nie działa. Gdzie powinienem umieścić wiązanie i jaki jest właściwy sposób, aby to zrobić w Laravel?Jak zamienić klasę Laravel Builder na klasę
To co próbowałem:
mój Builder:
use Illuminate\Database\Eloquent\Builder as BaseBuilder;
class Builder extends BaseBuilder
{
/**
* Find a model by its primary key.
*
* @param mixed $id
* @param array $columns
* @return \Illuminate\Database\Eloquent\Model|static|null
*/
public function find($id, $columns = array('*'))
{
Event::fire('before.find', array($this));
$result = parent::find($id, $columns);
Event::fire('after.find', array($this));
return $result;
}
}
A obok próbowałem zarejestrować wiązanie w bootstrap pliku/start.php tak:
$app->bind('Illuminate\\Database\\Eloquent\\Builder', 'MyNameSpace\\Database\\Eloquent\\Builder');
return $app;
bardzo nice.Thank cię –