【发布时间】:2015-01-06 23:27:21
【问题描述】:
我正在为 Laravel PHP 项目使用 Eloquent 存储库。我对存储库的接口文件中的一个声明进行了更改。问题是当我尝试运行我的程序时,我不断收到 'Acme\repositories\Eloquent\EloquentPictureRepository::create() 的声明必须与 Acme\repositories\PictureRepository::create($input) 兼容' 错误。
现在我的程序仍在读取“PictureRepository.php”的原始声明,而不是我对其所做的更新版本。
PictureRepository.php(接口文件):
接口图片库{
public function all();
public function find($id);
public function findOrFail($id);
/* I added the '$filename' parameter to the function 'create()' */
public function create($input, $filename);
public function update($id, $input);
public function delete($id);
public function forceDelete($id);
public function restore($id);
}
EloquentPictureRepository:
<?php namespace Acme\repositories\Eloquent;
use acme\repositories\PictureRepository;
use app\models\Picture;
class EloquentPictureRepository implements PictureRepository {
/* Added the new parameter to the 'create()' function */
public function create($input, $filename)
{
/* Need this structure in order for photos to actually be displayed. */
$newPicture = new Picture;
$newPicture->picture_name = $input['picture_name'];
$newPicture->picture_path = $filename;
$newPicture->picture_description = $input['picture_description'];
$newPicture->picture_edges = $input['picture_edges'];
$newPicture->picture_stones = $input['picture_stones'];
$newPicture->picture_order = $input['picture_order'];
$newPicture->picture_link = $input['picture_link'];
$newPicture->picture_height = $input['picture_height'];
$newPicture->picture_width = $input['picture_width'];
$newPicture->category = $input['category'];
$newPicture->picture_project = $input['picture_project'];
return $newPicture->save();
}
}
我已尝试同时运行“php artisan dump-autoload”和“composer update”,但仍无法识别我的新“PictureRepository.php”文件。
【问题讨论】: