零、前言

Laravel 应用开发蓝图讲述了如何使用 Laravel 4 逐步开发 10 个不同的应用。您还将了解 Laravel 内置方法的基本用法和高级用法,这些方法将在您的项目中派上用场。此外,您将学习如何使用内置方法扩展当前的库,并包括第三方库。

这本书着眼于 Laravel PHP 框架,打破了用 PHP 编码会导致意大利面代码的根深蒂固的偏见。它将带您了解一些清晰、实用的应用,这些应用将帮助您利用 Laravel PHP 框架和 PHP OOP 编程,同时避免意大利面代码。

您还将了解如何使用不同的方法创建安全的网络应用,例如文件上传和处理、发出 RESTful Ajax 请求以及表单处理。如果你想在各种类型的项目中利用 Laravel PHP 框架的 validate、file processing 和 RESTful 控制器,这就是适合你的书。本书将讨论使用 Laravel PHP 框架编写快速安全的应用所需了解的一切。

这本书涵盖了什么

第 1 章建立一个 URL Shortener 网站,概述了 Laravel 4 的基础知识。本章介绍路线、迁移、模型和视图的基本知识。

第 2 章用 Ajax 构建待办事项列表,使用 Laravel PHP 框架和 jQuery 构建应用。在本章中,我们将向您展示 RESTful 控制器、RESTful 路由和验证请求类型的基础知识。

第三章搭建图片共享网站,讲述了如何给项目添加第三方库,以及如何上传、调整大小、处理和展示图片。

第 4 章建立个人博客,讲述了如何用 Laravel 编写一个简单的个人博客。在这一章中,涵盖了 Laravel 的内置身份验证、分页机制和命名路由的特性。在本章中,我们还将详细介绍 Laravel 附带的一些快速开发方法,例如轻松创建路线 URL 的方法。

第五章搭建新闻聚合网站,主要是对核心类进行自定义功能的扩展和使用。还介绍了迁移的用法以及验证、保存和检索数据的基础知识。

第六章创建一个图库系统,帮助我们用 Laravel 编写一个简单的图库系统。在这一章中,我们将介绍 Laravel 的内置文件验证、文件上传以及拥有许多数据库关系方法。我们还将介绍用于验证数据和上传文件的验证类。最后,我们将详细介绍用于处理文件的 Laravel 文件类。

第 7 章创建短消息系统,涵盖了一个高级短消息系统,它将使用 Laravel 的队列和电子邮件库。本章还重点介绍了如何设置和触发排队任务,以及如何解析电子邮件模板并向订阅者发送大量电子邮件。

第八章构建一个 Q &一个 Web 应用,主要关注数据透视表,为什么需要它们,在哪里需要它们,以及它们的用法。本章还介绍了第三方身份验证系统的使用以及删除或重命名公共段的方法。

第 9 章构建 RESTful API——电影和演员数据库,通过用 Laravel 编写一个简单的电影和演员 API,重点介绍 REST 的基础知识。我们将在基本的身份验证系统后面制作一些 JSON 端点,并在本章中学习一些 Laravel 4 技巧。此外,我们还将介绍 RESTful 控制器、RESTful 路由以及通过迁移向数据库添加示例数据的基础知识。

第十章搭建电商网站,讨论如何用 Laravel 编写一个简单的电商应用。在本章中,我们将介绍 Laravel 的内置基本身份验证机制,即路由和数据库播种。我们还将详细介绍 Laravel 4 附带的一些快速开发方法。我们还将介绍透视表的高级用法。我们的电子商务应用将是一个简单的书店。该应用将具有订单、管理和购物车功能。

这本书你需要什么

章节中所写的应用都是基于 Laravel 4 的,因此您将需要 Laravel 4 的标准需求列表中列出的内容,该列表将在http://four.laravel.com/docs#server-requirements提供。

本章要求如下:

  • PHP 5.3.7 或更高版本
  • 扩展
  • 存储数据的 SQL 数据库

对单个第三方软件包可能有额外的要求。如果在章节中的任何地方用到它们,请参考它们的需求页面。

这本书是给谁的

这本书对于不熟悉 PHP 5 面向对象编程标准并且希望使用 Laravel PHP 框架的开发人员来说非常棒。假设您已经有了一些 PHP 的经验,并且熟悉编码当前的“老派”方法,比如不使用任何 PHP 框架。这本书也是为那些已经在使用 PHP 框架并且正在寻找更好的解决方案的人准备的。

惯例

在这本书里,你会发现许多区分不同种类信息的文本风格。以下是这些风格的一些例子,以及对它们的含义的解释。

文本中的码字如下所示:“我们可以通过使用include指令来包含其他上下文。”

代码块设置如下:

<?php
class Todo extends Eloquent
{
  protected $table = 'todos';

}

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

  public function run()
  {
    Eloquent::unguard();
    $this->call('UsersTableSeeder');
    $this->command->info('Users table seeded!');
 $this->call('AuthorsTableSeeder');
 $this->command->info('Authors table seeded!');
  }

}

任何命令行输入或输出都编写如下:

php artisan migrate

新名词重要词语以粗体显示。你在屏幕上看到的单词,例如在菜单或对话框中,出现在这样的文本中:“然后,我们检查点击了最佳答案按钮的用户是问题的提出者还是应用的管理员。”

警告或重要提示会出现在这样的框中。

类型

提示和技巧是这样出现的。

读者反馈

我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或可能不喜欢什么。读者反馈对我们开发您真正能从中获得最大收益的标题非常重要。

要给我们发送一般反馈,只需向<[feedback@packtpub.com](mailto:feedback@packtpub.com)>发送电子邮件,并通过您的消息主题提及书名。

如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参阅我们在www.packtpub.com/authors上的作者指南。

客户支持

现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以从您在http://www.packtpub.com的账户中下载您购买的所有 Packt 书籍的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。

勘误表

尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现了错误——可能是文本或代码中的错误——如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表 提交 表格链接,并输入您的勘误表详情。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站上,或添加到该标题的勘误表部分下的任何现有勘误表列表中。通过从http://www.packtpub.com/support中选择您的标题,可以查看任何现有的勘误表。

盗版

互联网上版权材料的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。

请通过<[copyright@packtpub.com](mailto:copyright@packtpub.com)>联系我们,获取疑似盗版资料的链接。

我们感谢您在保护我们作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有问题,可以在<[questions@packtpub.com](mailto:questions@packtpub.com)>联系我们,我们将尽最大努力解决。