为什么控制器没有定义?错误:未定义的索引:控制器

时间:2015-08-01 13:24:58

标签: php laravel controller

我第一次尝试Laravel 5,我早就遇到了问题。如果有人能向我解释,我会非常感激。

我的index.php脚本的第一行如下:

// Define path to data folder
define('DATA_PATH', realpath(dirname(__FILE__).'/data'));

//include our models
include_once 'models/TodoItem.php';


try {
    //get all of the parameters in the POST/GET request
    $params = $_REQUEST;

    //get the controller and format it correctly so the first
    //letter is always capitalized
    $controller = ucfirst(strtolower($params['controller']));

    //get the action and format it correctly so all the
    //letters are not capitalized, and append 'Action'
    $action = strtolower($params['action']).'Action';
...

运行时抛出以下异常:

   (!)注意:未定义的索引:第15行的/index.php中的控制器    调用堆栈

(!)注意:未定义索引:第19行/index.php中的操作    调用堆栈

{"成功":false," errormsg":"控制器无效。"}

有人可以解释我如何正确设置$ controller和$ action吗?请原谅我的noobness,我试图第一次学习框架!

2 个答案:

答案 0 :(得分:1)

您能否确认您的var price_prt=$row.find("input[name='PRQL_PRICE1[]']").val().replace(",",""); var qty_prt=$row.find("input[name='PRQL_QTY1[]']").val().replace(",",""); var prt_value= parseFloat(price_prt) * parseFloat(qty_prt); $row.find("input[name='PRQL_VALUE1[]']").attr('value',prt_value); 索引符合您的请求名称?另外,您是否可以提供代码来为您的请求构建视图?

答案 1 :(得分:0)

好的,我解决了我的问题。这听起来真的很愚蠢,但对于一个框架/ MVC noob来说,这让人感到困惑......

我忽略了创建一个控制器层!事实上我有,但没有正确引用它。

现在我在一个名为' controllers'的文件夹中有一个脚本。它从$ params构造一个数组,即我在url / post方法中发送的数组。一切正常!这是我的基本控制器功能:

class Todo
{
  private $_params;

  public function __construct($params)
  {
    $this->_params = $params;
  }

  public function createAction()
  {
    // create a todo item
    $todo = new TodoItem();
    $todo->title = $this->_params['title'];
    $todo->description = $this->_params['description'];
    $todo->due_date = $this ->_params['due_date'];
    $todo->is_done = 'false';

    //pass the user's username and password to authenticate the user
    $todo->save($this->_params['username'], $this->_params['userpass']);

    //return the todo item in array format
    return $todo->toArray();
  }

将您的模型和控制器分开,人们!感谢您的时间和耐心,感谢评论。