Laravel 快速入门
安装
通过 Laravel 安装器
首先, 使用 Composer
全局下载并安装 Laravel/installer
:
composer global require "laravel/installer=~1.1"
请确定把 ~/.composer/vendor/bin
路径放置于您的 PATH
里(或 C:\%HOMEPATH%\AppData\Roaming\Composer\vendor\bin
,如果你使用 Windows), 这样laravel
可执行文件才能被命令行找到, 以后您就可以在命令行下直接使用 laravel
命令.
安装并且配置成功后, 可以使用命令 laravel new
在您指定的目录下创建一份全新安装的 Laravel 应用
, 如这样的调用: laravel new blog
将会在当前目录下创建一个叫 blog
的目录, 此目录里面存放着全新安装的 Laravel 应用, 此方法跟其他方法不一样的地方在于是提前安装好所有代码依赖的, 您无需再通过 composer install
安装, 速度一下子提高了很多.
通过 Composer
Laravel 框架使用 composer 来执行安装及管理依赖。如果还没有安装它的话,请先从 安装 Composer 开始吧。
安装之后,您可以通过终端执行下列命令来安装 Laravel:
composer create-project laravel/laravel your-project-name --prefer-dist
这个命令会下载并安装一份全新的 Laravel 存放在指定的 your-project-name
的目录中。
手动安装
手动安装 Laravel, 可以直接从 Github 上的 Laravel Respoitory 下载一份打包的代码, 解压缩, 然后在解压后的根目录里,执行 composer install
即可,这个命令会把框架所需要的依赖下载完整。
权限配置
在安装 Laravel 之后,确保 Web 服务器有写入 app/storage
目录的权限。详情请见安装文档说明。
运行 Laravel
一般而言,您需要一个 Web 服务器(比如: Apache 或是 Nginx)来运行您的 Laravel 应用。如果您是使用 PHP 5.4 以上版本,为了方便, 可以使用 PHP 内建的开发服务器,只需要通过使用 Laravel 的 Artisan 命令 来执行 serve
即可:
php artisan serve
By default the HTTP-server will listen to port 8000. However if that port is already in use or you wish to serve multiple applications this way, you might want to specify what port to use. Just add the --port argument:
php artisan serve --port=8080
目录结构
安装完框架后,我们来了解熟悉一下项目的目录结构。app
目录里面包含了 views(视图)
, controllers(控制器)
, 还有 models(模型)
等目录。您的应用程序大多数的代码都会在这个目录中, 需要注意的还有存放相关配置文件的目录 app/config
。
本地开发环境
过去要在本机上配置一个本地的 PHP 开发环境是非常让人头痛的事情。除了要安装正确的 PHP 版本、对应的扩展包,还有一些所需的组件,都是一个大工程。很多情况下因为这些繁琐的配置问题,导致我们直接放弃了尝试要做的事, 非常的可惜。
为了解决这状况,使用 Laravel Homestead 吧。Homestead 是由 Laravel 和 Vagrant 所设计的虚拟机。而 Homestead Vagrant 里封装了建立一个完整 PHP 应用所需的所有软件。因此可以在瞬间创建一个虚拟化的、独立不受干扰的开发环境。特别适用于团队 开发环境的统一。 下面列出包装在 Homestead 里的软件:
- Nginx
- PHP 5.6
- MySQL
- Redis
- Memcached
- Beanstalk
不用担心,虽然“虚拟化”听起来很复杂,但它是无痛的。VirtualBox 和 Vagrant 是 Homestead 的两个依赖,两个软件都有各平台的简单的图形化安装界面,你可以查阅 Homestead documentation 的文档开始使用。
路由
首先,我们先创建第一个路由。在 Laravel 中,最简单的路由是通过匿名函数来实现的。打开 app/routes.php
文件,在文件的最下方添加如下代码:
Route::get('users', function()
{
return 'Users!';
});
现在,在浏览器中输入 /users
,您应该会看到页面出现 Users!
。简单吧, 您已经建立了第一个路由。
路由也可以指向一个控制器类和动作方法。例如:
Route::get('users', 'UserController@getIndex');
以上代码声明 /users
路由的请求应该使用 UserController
类的 getIndex
方法。查看更多关于控制器路由的信息,请查阅控制器。
建立视图
接下来,我们要创建视图来显示我们的用户数据。视图以 HTML 代码存放在 app/views
的目录中, 后缀名一般为 .blade.php
。我们先来创建两个视图文件: layout.blade.php
和 user.blade.php
。首先,我们建立layout.blade.php
文件:
<html>
<body>
<h1>Laravel Quickstart</h1>
@yield('content')
</body>
</html>
接下来,我们建立 users.blade.php
文件:
@extends('layout')
@section('content')
Users!
@stop
这里有些语法或许让您感到陌生。因为我们使用的是 Laravel 的模板系统:Blade。Blade 非常快,仅需要通过少量的正则表示 式来把模板文件编译成 PHP 代码。Blade 提供了强大的功能,例如模板的继承,还有一些常用的 PHP 控制结构语法,如 if
和 for
。更多信息请查阅 Blade。
现在,我们已经有了自己的视图,让我们回到 /users
路由。我们改用视图来替代直接输出的 Users!
:
Route::get('users', function()
{
return View::make('users');
});
太棒了!现在您已经成功地建立了一个继承自 layout 的简单视图。接下来,我们来学习一下数据库层。
建立迁移文件
我们使用 Laravel 的迁移 (migration) 系统来建立数据库表以保存我们的数据。迁移记录着数据库的改变历史,可以通过版本控制的方式来更好的让团队开发保持一致性。