我编写了这段代码来分离“吸引力”的类定义,以便我可以在其他地方重复使用它。我将从多个页面需要它。
所以这笔交易是无论我做什么都无法找到这个部分。
这是类的定义,您还可以看到文件夹结构。
<?php
//this Class contains all the attractions.
// It extends the place class
use DB;
class attractions{
public $json;
public $name='test';
public $id;
public $lat;
public $lon;
public $time;
public $photos;
public function __construct($id){
}
}
尝试创建类型类
的对象$ task<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
class AttractionsController extends Controller{
public function show($id){
$task=new attractions($id);
return view ('pages.attraction',['name'=>$task->name]);
// This is the old one. Can remove after you succeed in the first.
/* return view('pages.attraction',[
'name'=>$task->name
]);*/
}
}
这是弹出的错误 “Symfony \ Component \ Debug \ Exception \ FatalThrowableError(E_ERROR) 没有找到“App \ MyClasses \ attractions \ attractions”类
我尝试了所有可能的路径,但这是不可接受的。
有任何帮助吗? (我知道这可能是一个非常愚蠢和微不足道的错误!)
答案 0 :(得分:1)
将名称空间添加到您的文件 attractions.php
<?php
namespace App\MyClasses;
class attractions {
public $name = 'test';
// other variable here ....
public function example()
{
echo "example here";
}
public static function test()
{
echo "test here";
}
}
现在转到您的终端并输入此命令
composer dump-autoload 这将刷新您的自动加载文件,以便您的新创建的attractions.php也将自动加载。
命令执行完毕后,您现在可以像这样使用全局类。
use App\MyClasses\attractions; SomeClass { function __construct() { // instance call $attraction = new attractions(); $attraction->example(); // or static call attractions::test(); } }
希望有所帮助,请告诉我。