在程序界最熟悉的莫过于"Hello World",经过输出"Hello Word",咱们能了解路由和最基础的视图,这一小节,咱们主要是学习下如何建立路由,如何加载视图,这节很是简单,跟着作就行。php
上一节咱们经过laravel new 项目名
安装了Laravel 5.3
的框架(默认安装最新版本的框架), 由于5.3的目录结构稍许有点变化,咱们再安装一个laravel 5.2
的框架,经过5.2版原本演示。css
➜ cd /usr/local/var/www # 进入到咱们想要安装Laravel5.2框架的路径 ➜ laravel new Laravel52 --5.2 #经过Laravel install工具安装Laravel 5.2
而后,进入Laravel52 目录,用sublime打开Laravel52项目html
➜ cd Laravel52 ➜ subl .
打开以下:laravel
若是是第一次接触Laravel框架,面对着这么多已经存在的目录,确定是有点不知所措的,好比说app
目录下的Providers,Policies等,这么文件夹的做用是什么呢?咱们刚开始学的时候,不用想着一会儿全弄明白,能够从最基础的开始,只要咱们能够用Laravel去作点什么的时候,边作边学,那就不会以为Laravel框架不易上手了。web
ok,下面咱们就来看下路由,打开app->Http->route.php
,经过route这个名字咱们就知道路由(url)文件应该写在这里,全部的HTTP请求咱们都会经过这个文件来分发出去。api
当咱们打开route.php
文件的时候,里面自带了这样的一个函数:浏览器
Route::get('/', function () { return view('welcome'); });
上面这句代码咱们使用了Route
这个类的get
方法,并传入两个参数给它,第一个参数是咱们要设置的uri,这里咱们定义成/
,一般都是访问到网站的主页,第二个参数是一个闭包函数,固然在正式开发的时候咱们传入的第二个参数都是一个控制器类加上该类中的一个方法,如:bash
Route::get('/', 'PagesController@home'); #PagesController是一个控制器类,home是该类下面的一个方法。
咱们暂时不去考虑控制器类,这不是本节要学习的内容,咱们仍是回头来看上面的闭包函数中的这句话:服务器
return view('welcome');
这里的view()
函数,就能够对应咱们要显示的视图层了,当中的welcome
是视图文件的名称,咱们能够在resources->views
下找到welcome.blade.php
这个文件,该文件就是上面代码要显示的view层页面了,那么上面的代码的意思就是下面这样的:闭包
return view('welcome.blade.php');
固然上面这样的代码运行时是会报错的,laravel运行view('welcome')
函数的时候,会自动去找welcome.blade.php
这个视图文件,因此咱们书写的时候,只须要写上.blade.php前面的单词便可。那么这里也许有人会有疑问,为何视图文件要取名为xxx.blade.php
呢,那是由于laravel的视图页面是使用blade
模版引擎的,因此必须加上.blade.php的后缀,那什么是balde模版呢,这样说吧,你应该知道一个老掉牙的smarty模版吧,嗯,这样说你应该明白了。
咱们打开welcome.blade.php
文件,发现里面都是一些html代码,固然咱们是能够在这个文件中书写php代码的,该文件默认的内容以下:
<!DOCTYPE html> <html> <head> <title>Laravel</title> <link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css"> <style> html, body { height: 100%; } body { margin: 0; padding: 0; width: 100%; display: table; font-weight: 100; font-family: 'Lato', sans-serif; } .container { text-align: center; display: table-cell; vertical-align: middle; } .content { text-align: center; display: inline-block; } .title { font-size: 96px; } </style> </head> <body> <div class="container"> <div class="content"> <div class="title">Laravel 5</div> </div> </div> </body> </html>
从上面的页面咱们能够看出,这个页面就是显示一下Laravel 5
这几个文字,咱们下面就来运行一下Laravel, 仍是打开终端,进入到咱们的项目Laravel52
目录中,而后咱们执行php artisan serve
命令
咱们打开浏览器,输入http://localhost:8000/
咱们的laravel第一个页面是跑起来了,可是确定有人会对php artisan serve
这条命令不理解,不少phper作php项目的时候都是写完代码,而后经过浏览器或者使用postman一阵调试,不多会使用到php的命令行模式。
若是用过php命令行模式,就不难理解,最简单的来讲,咱们查看php的版本php -v
, 咱们启用php的内置web服务器php -S
,咱们在命令行运行一段php代码php -r "echo 'Hello World';"
, 或者咱们在命令行运行一个php文件php -f "my_script.php"
,而php artisan
则是一个更增强大的命令行工具.咱们能够执行下php artisan
这条命令,它会帮咱们列举出artisan
的命令,都有对应的英文解释,这里你们必定要去先看看,了解一下,由于之后咱们会常常用到这个artisan
,你会发现它是多么的强大,多么的好用.
到如今为止,咱们几乎尚未写过一句代码,下面咱们来尝试写一段,打开route.php
文件, 咱们修改一下之间的代码以下:
Route::get('/', function () { return 'Hello World'; });
在Laravel中,咱们能够返回view()
,也能够直接返回一个字符串到页面上,咱们打开浏览器,仍是输入http://localhost:8000/ 这时咱们就能看见页面输出了久违的Hello World
了。(若是你关闭了php内置的web服务器,你还须要用终端在项目根目录下执行php artisan serve 命令来启动php的内置web服务器 )
那么若是咱们想要定义一个http://localhost:8000/about
的路径呢,咱们能够这么写:
Route::get('about', function () { return 'About Page'; });
打开浏览器,输入http://localhost:8000/about
页面就能显示About Page的这几个文字了。
下面,咱们来试下使用view()
,将函数改为下面这样:
Route::get('about', function () { return view('about'); });
而后,咱们须要到resources->views
目录下新建一个about.blade.php
的文件,咱们能够复制welcome.blade.php
文件中的内容,而后将
<div class="title">Laravel 5</div>
改为
<div class="title">About Page</div>
上面的代码是确定能运行的,这里我就不截图了,一般状况下,咱们的视图文件都会分类放在某一个文件夹下面,而不会直接放在resources/views
目录下,好比说咱们的路径是这样的resources/views/pages/about.blade.php
那么咱们的路由文件中应该这么写:
Route::get('about', function () { return view('pages.about'); # 这里的pages表明目录,about是表明文件 });
固然了,你也能够这么写:
Route::get('about', function () { return view('pages/about'); # 这里的pages表明目录,about是表明文件 });
不过laravel官方是推荐咱们view('pages.about');
这么写,这样代码看上去会美观不少。
好了,咱们刷新下浏览器
好了,到如今咱们已经学习了Laravel的路由和视图的一些东东了,本节到这里结束了。