laravel 4,2->5.0 升级 错误:Class 'app\Test' not found
第一步就有问题,错误:Class 'app\Test' not found: 请哪位前辈教我
刚学laravel一周,项目需要升级4.2->5.0,参考了网上不少文档,还是不清楚怎么做。
设想从简单入手,先升级一个简单项目,把项目做复杂以下再升级,直到覆盖升级的各个主要方面。
项目是只有一个表Test,文件目录
1)app\Test.php,Test.php中写了命名空间namespace App;
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Test extends Model {
protected $table = 'tests';
protected $hidden = array('password', 'remember_token');
}
2)app\Http\routes.php;
<?php
use app\Test as Test;
Route::get('tests', function()
{
$tests = Test::all();
return view('tests')->with('tests', $tests);
});
3)Resource\views\tests.blade.php
@extends('layout')
@section('content')
@foreach($tests as $test)
<p>{{ $test->name }}</p>
@endforeach
@stop
刚学laravel一周,项目需要升级4.2->5.0,参考了网上不少文档,还是不清楚怎么做。
设想从简单入手,先升级一个简单项目,把项目做复杂以下再升级,直到覆盖升级的各个主要方面。
项目是只有一个表Test,文件目录
1)app\Test.php,Test.php中写了命名空间namespace App;
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Test extends Model {
protected $table = 'tests';
protected $hidden = array('password', 'remember_token');
}
2)app\Http\routes.php;
<?php
use app\Test as Test;
Route::get('tests', function()
{
$tests = Test::all();
return view('tests')->with('tests', $tests);
});
3)Resource\views\tests.blade.php
@extends('layout')
@section('content')
@foreach($tests as $test)
<p>{{ $test->name }}</p>
@endforeach
@stop
2 个回复
Only_One
赞同来自: 喵喵一片叶
比如test.php这个文件是在app/Models这个文件夹下
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model
class Test extends Model{
.............
}
?>
其他要使用这个model的地方需要
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Test;
class TestController extends Controller {
}
?>
喵喵一片叶
赞同来自:
命名空间是为了区分与原有类相同的自定义类|函数|变量引用,
use相当于import可以利用命名空间加载,前提是命名空间和文件路径按照psr-4绑定。