laravel框架学习---laravel基本工作流程

        现在的框架基本上都是MVC的,那Laravel项目是如何通过访问url请求,来最终把处理好的数据,显示到页面上的呢?

        首先我们了解一下之前Laravel项目的目录结构:

    .
    ├── app.php
        ├── Http
            ├── Controllers
    ├── bootstrap
    ├── config
    ├── database
    ├── public
    ├── resources
        ├── views
            ├── welcome.blade.php
    ├── routes
        ├── web.php
    ├── storage
    ├── tests
    ├── vendor
    ├── .env
    ├── .env.example
    ├── artisan
    ├── composer.json
    ├── composer.lock
    ├── package.json
    ├── server.php
    └── webpack.mix.js

        我们使用Laravel项目的artisan命令行工具先启动一下项目,

D:\software\wamp64\www\laravel5>php artisan serve

        

        然后通过访问浏览器访问 localhost:8000 url,即可看到之前的欢迎界面。

        冷暖自知一抹茶ck

        我们打开 web.php文件,可以看到,注册的路由。默认的显示一个是:注册了一个当我们访问 项目根目录时,显示welcome的页面。

Route::get('/', function () {
    return view('welcome');
});

        我们可以看到 有views 这样一个文件夹下,字面理解 就是试图,下面有一个文件 welcome.blade.php,我么打开简单的修改一下页面显示内容。 给Laravel 新增加一个超链接,

<a href="https://cksite.cn">Laravel</a>

        刷新页面,从新访问一下,可以看到 左下角的超链接。

        冷暖自知一抹茶ck

        从上面,我们可以看出视图页面的是以  .blade.php 为后缀的php文件。    

       

        然后现在在注册一个路由,实现当我们访问 about (就像企业站的关于我们) 时,自动显示 about页面的内容:

web.php新增加:

Route::get('/about', function () {
    return view('sites.about');
});

views文件夹下,新建一个sites文件夹,里面新建一个视图页面 about.blade.php,简单填写html的内容;

<div class="flex-center position-ref full-height">
    cuikai about
</div>

        浏览器访问上述 路由:http://localhost:8000/about ,即可看到刚才新写的页面信息。

        冷暖自知一抹茶ck

        要注意的是:上面访问的路由地址  文件夹也可以写成用  斜杠 / 的形式:访问结果是一样的。

Route::get('/about', function () {
    return view('sites/about');
});

       

        到这,我们发现控制器在哪呢?并且有时我们写api或者需要输出更复杂的数据结构,怎么输出给前台呢?并且能不能通过访问控制器里面的方法来访问该页面呢?

        我们可以借助artisan命令行工具 去创建一个控制器,执行一下命令,可以看到 app\Http\Controllers 目录下新生成了一个SiteController.php文件,这就是我们的控制器!!!

D:\software\wamp64\www\laravel5>php artisan make:controller SiteController
Controller created successfully.

        编辑SiteController.php文件,添加一个index方法:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class SiteController extends Controller
{
    public function index()
    {
        return view("sites.about");
    }
}

        这时候再修改一下我们的路由 web.php:

Route::get('/', 'SiteController@index');

        这样,当我们访问项目根目录就会自动访问 SiteController 控制器下的index方法,并会给我们显示之前的  about 界面。

        冷暖自知一抹茶ck

        

冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论