莫菲    

开启简单的laravel5 MVC模式

8年前发布  · 964 次阅读
  laravel5  mvc 

laravel版本5.2

1.开启简单的Hello World:

1.1 添加路由配置:

修改app目录下routes.php,在该文件里加入一行:

Route::get('/test', 'TestController@index');

app\Http\Controllers文件夹下新建TestController.php文件,文件代码如下: 

<?php

namespace App\Http\Controllers;

class TestController extends Controller
{
    public function index()
    {
        echo 'Hello World';
    }
} 

 

1.2 在配置的路径后面添加/test即可显示“Hello World”

效果图

2.真正的MVC模式:

M–Model 模型,参照laravel5.2文档,使用命令快速新建一个model: 
php artisan make:model Post,使用该目录新建的Post.php文件目录是在app目录下,本人采用在app目录下新建Models文件夹,将所有model文件放入该目录下。步骤如下: 
在app文件夹下新建Models文件夹,打开项目目录下的composer.json文件,设置如下: 

"autoload": { 
"classmap": [ 
"database", 
"app/models" 
], 
"psr-4": { 
"App\\": "app/", 
"App\\Models\\": "app/models" 
} 
}, 
"autoload-dev": { 
"classmap": [ 
"tests/TestCase.php" 
] 
}, 



C–Controller 控制器,目录位置项目目录\app\Http\Controllers 
V–View 视图,目录位置项目目录\resources\views

2.1 在数据库中建立一个posts表,字段一个id主键自增字段和一个contenttext类型的字段,随便写入一条数据

2.2 按照上述方法设置好composer.json文件之后,在Models文件夹内新建一个Post.php文件,代码如下:

<?php 
namespace App\Models; 
use Illuminate\Database\Eloquent\Model; 
class Post extends Model 
{ 
protected $table = 'posts'; 
public $timestamps = false; 
} 

 

2.3 在app\controllers新建一个PostController.php文件,代码如下:

 

<?php 
namespace App\Http\Controllers; 
use App\Models\Post; 
class PostController extends Controller 
{ 
public function index() 
{ 
$posts = Post::first(); 
return view('post',['posts'=>$posts]); 
} 
}

 

2.4 在resources\views目录下建立post.blade.php文件,代码如下:

<?php 
print_r($posts->content);

2.5 在app\Http\routes.php文件中添加路由:

Route::get('/post', 'PostController@index');

2.6 访问地址后加/post即可看到该表第一行的content内容:

效果图

laravel5初学,有任何不妥或更好的方法欢迎批评指正。