【问题标题】:Laravel PHP: Updated Repository Interface file not being recognizedLaravel PHP:更新的存储库接口文件无法识别
【发布时间】: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”文件。

【问题讨论】:

    标签: php laravel-4


    【解决方案1】:

    我实际上只是运行了“composer dump-autoload”,现在我更新的存储库文件已被识别。

    编辑:运行“composer dump-autoload”实际上会影响您的控制器,并且不允许更新它们。除非绝对必要,否则尽量不要运行此命令。

    【讨论】:

      猜你喜欢
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2021-02-28
      • 1970-01-01
      • 2021-04-11
      相关资源
      最近更新 更多