我正试图从第三方包中修改控制器,方法是让它在本地使用,而不是从包源中使用。当它从包源使用时,一切都运行良好,但当我在本地使用它时,我不断收到"从空值创建默认对象"错误。
控制器:
use JeroenG'LaravelPhotoGallery'Controllers'AlbumsController; /* Third party controller */
use JeroenG'LaravelPhotoGallery'Controllers'PhotosController; /* Third party controller */
use JeroenG'LaravelPhotoGallery'Validators as Validators; /* Third party validator */
class GalleryController extends BaseController {
/* The album model @var 'JeroenG'LaravelPhotoGallery'Models'Album */
protected $album;
/*The photo model @var 'JeroenG'LaravelPhotoGallery'Models'Photo */
protected $photo;
/* Instantiate the controller
* @param 'JeroenG'LaravelPhotoGallery'Models'Album $album
* @param 'JeroenG'LaravelPhotoGallery'Models'Photo $photo
* @return void
*/
public function __construct()
{
$this->album = 'App::make('Repositories'AlbumRepository');
$this->photo = 'App::make('Repositories'PhotoRepository');
}
/*Listing all albums * @return 'Illuminate'View'View */
public function index()
{
$allAlbums = $this->album->all();
/* Error occurs at line of code below */
$this->layout->content = 'View::make('gallery::index', array('allAlbums' => $allAlbums));
}
}
由于我在控制器的开头引用了上面的第三方控制器的"use"语句,我不明白为什么我会一直出现这个错误。
不确定这是否有帮助。但我的怀疑在于两个问题:
- gallery::索引是否存在或位于正确的路径中
- 您可以添加($allAlbums),让我们了解更多可能的信息