laravel에서 추상 클래스를 사용하는 데 문제가 있습니다. 나는이 튜토리얼 http://culttt.com/2014/03/17/eloquent-tricks-better-repositories을 따르고 있지만 코드를 실행하면 "클래스를 찾을 수 없음"오류가 발생합니다.Laravel 클래스가 없습니다 + 추상 클래스
내가 서비스 제공에 클래스를 바인더 제본 한여기 내 코드
RepositoriesServiceProvider.php
<?php namespace Repositories;
use Illuminate\Support\ServiceProvider;
class RepositoriesServiceProvider extends ServiceProvider {
public function register()
{
$this->app->bind(
'Repositories\User\UserRepository',
'Repositories\User\EloquentUserRepository',
'Repositories\User\AbstractEloquentRepository'
);
}
}
?>
EloquentUserRepository.php의
namespace Repositories\User;
use User;
class EloquentUserRepository extends AbstractEloquentRepository implements UserRepository{
protected $model;
public function __construct(User $model){
$this->model = $model;
}
public function find($id){
return User::find($id);
}
public function create($input){
return User::create($input);
}
}
?>
AbstractEloquentRepository.php
<?php
abstract class AbstractEloquentRepository{
public function all(){
return $this->model->all();
}
}
?>
,
UserRepository.php
<?php
namespace Repositories\User;
interface UserRepository{
public function all();
public function find($id);
public function create($input);
}
?>
UserController.php
<?php
use Repositories\User\UserRepository as User;
class UserController extends BaseController {
/*
|--------------------------------------------------------------------------
| Default Home Controller
|--------------------------------------------------------------------------
|
| You may wish to use controllers instead of, or in addition to, Closure
| based routes. That's great! Here is an example controller method to
| get you started. To route to this controller, just add the route:
|
| Route::get('/', '[email protected]Welcome');
|
*/
public function __construct(User $user){
$this->user = $user;
}
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return $this->user->all();
}
// public function showWelcome()
// {
// return View::make('hello');
// }
}
여기에 오류가 있습니다. http://screencast.com/t/GysgRTea – codepinoys