Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.3等级/路线_Php_Laravel_Laravel 5.3 - Fatal编程技术网

Php Laravel 5.3等级/路线

Php Laravel 5.3等级/路线,php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,嘿!我的问题是下一个。我开始使用Laravel5.3。如何在Laravel中执行此类: class Vehicle { public $vehicletype; function invt($vehicletype){ $this->vehicletype=$vehicletype; } function outvt(){ return $this->vehicletype; } } 我已经有了ajax.po

嘿!我的问题是下一个。我开始使用Laravel5.3。如何在Laravel中执行此

class Vehicle
{
    public $vehicletype;

    function invt($vehicletype){
        $this->vehicletype=$vehicletype;
    }
    function outvt(){
        return $this->vehicletype;
    }
}
我已经有了ajax
.post
,路线:

Route::get('/ajax-vehicletype',function(){
    $vehicletypevalue=Input::get('vehicletype');
    Vehicle::invt($vehicletypevalue);
});
我得到一个错误:

Non-static method App\Vehicle::invt() should not be called statically, assuming $this from incompatible context

谢谢。

您可以定义控制器,然后在该控制器内定义函数,并将其传递到route参数中

class Vehicle extends Controller{
      public $vehicletype;

      function invt($vehicletype){
           $this->vehicletype=$vehicletype;
      }
     function outvt(){
      ...........
      }
}
在管线文件中,可以将管线定义为

Route::get('/ajax-vehicletype/{vehicletype}','Vehicle@invt');

您需要先学习基本的PHP


您面临的问题是,正如错误中所说,您正在静态调用非静态方法。快速修复方法是将
invt
方法定义为静态:

与Laravel无关,了解OOP中静态和非静态方法调用之间的区别:您没有定义函数是公共的、私有的、受保护的还是静态的