Voglio sostituire la classe di build Laravels con la mia che si sta estendendo da essa. Ho pensato che sarebbe stato semplice come lo App::bind
ma sembra che non funzioni. Dove dovrei posizionare la rilegatura e qual è il modo corretto di farlo in Laravel?Come sostituire la classe Laravel Builder
Questo è quello che ho provato:
mia 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;
}
}
E dopo ho provato a registrare il legame nel file di bootstrap/start.php come questo:
$app->bind('Illuminate\\Database\\Eloquent\\Builder', 'MyNameSpace\\Database\\Eloquent\\Builder');
return $app;
molto si nice.Thank –