Php Laravel 5.3等级/路线
嘿!我的问题是下一个。我开始使用Laravel5.3。如何在Laravel中执行此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
类
:
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中静态和非静态方法调用之间的区别:您没有定义函数是公共的、私有的、受保护的还是静态的