【发布时间】:2017-01-25 01:03:40
【问题描述】:
我是 php 和堆栈的新手,所以请您耐心等待。 我在大学学习 Laravel 框架,下一个代码给了我这样的信息:
未定义的属性: App\Http\Controllers\CatalogController::$arrayPeliculas
我现在给你看代码:
-CatalogController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CatalogController extends Controller{
public function getIndex(){
return view('catalog.index',
array('arrayPeliculas'=>$this->arrayPeliculas));
}
public function getShow($id){
return view('catalog.show', array('id'=>$id));
}
public function getCreate(){
return view('catalog.create');
}
public function getEdit($id){
return view('catalog.edit', array('id'=>$id));
}
}
-index.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
@extends('layouts.master')
@section('content')
<div class="row">
@foreach( $arrayPeliculas as $key => $pelicula )
<div class="col-xs-6 col-sm-4 col-md-3 text-center">
<a href="{{ url('/catalog/show/' . $key ) }}">
<img src="{{$pelicula['poster']}}" style="height:200px"/>
<h4 style="min-height:45px;margin:5px 0 10px 0">
{{$pelicula['title']}}
</h4>
</a>
</div>
@endforeach
</div>
@stop
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>
-array_peliculas.php
private $arrayPeliculas = array(
array(
'title' => 'El padrino',
'year' => '1972',
'director' => 'Francis Ford Coppola',
'poster' => 'http://ia.media-imdb.com/images/M/MV5BMjEyMjcyNDI4MF5BMl5BanBnXkFtZTcwMDA5Mzg3OA@@._V1_SX214_AL_.jpg',
'rented' => false,
'synopsis' => 'Don Vito Corleone (Marlon Brando) es el respetado y temido jefe de una de las cinco familias de la mafia de Nueva York. Tiene cuatro hijos: Connie (Talia Shire), el impulsivo Sonny (James Caan), el pusilánime Freddie (John Cazale) y Michael (Al Pacino), que no quiere saber nada de los negocios de su padre. Cuando Corleone, en contra de los consejos de \'Il consigliere\' Tom Hagen (Robert Duvall), se niega a intervenir en el negocio de las drogas, el jefe de otra banda ordena su asesinato. Empieza entonces una violenta y cruenta guerra entre las familias mafiosas.'
)
这个数组更大,但例如它没问题。有谁能够帮助我? 仅供参考,route.php 文件工作正常。
【问题讨论】:
-
您的 CatalogController 类中没有声明 $arrayPeliculas 变量
标签: php arrays laravel variables undefined