<?php namespace Blog\Http\Repositories\Eloquent;
use Blog\Http\Repositories\TestRepositoryInterface;
use Eloquent;
class DbTestRepository extends Eloquent implements TestRepositoryInterface {
public function names()
{
$names = ['Barry', 'Steve', 'Geoff', 'Mandy'];
return $names[array_rand($names)];
}
}
<?php namespace Blog\Http\Repositories;
interface TestRepositoryInterface
{
public function names();
}
<?php namespace Blog\Http\Controllers;
use Illuminate\Routing\Controller;
use Blog\Http\Repositories\TestRepositoryInterface;
class HomeController extends Controller {
public function index()
{
return view('hello');
}
public function test(TestRepositoryInterface $test)
{
var_dump($test->names());
}
}
This would work in 4.3, but in 5.0 it doesn't for some reason.
Yes, Eloquent alias has been removed in Laravel 5 (as well as some other aliases used for extending, e.g. Controller), since it is not a very good practice to use aliases as your parent classes.
You can still add it back of course, but I would recommend referencing the full path instead.