[ Laravel 从入门到精通 ] Blade 模板引擎高级篇:View Composer & 自定义指令

通过 View Composer 预设视图组件数据变量 我们已经在视图使用这篇教程演示了如何从后端传递数据给视图模板,但是这里有个场景需要拉出来讨论,我们的视图有很多公共部分,比如导航菜单、侧边栏、底部信息等,通常我们会以单独的视图组件来处理这些元素区块,但是如何从后端传递这些组件需要的数据变量是个问题,因为这些组件在多个页面中共用,从后端角度来看,会涉及到多个路由/控制器方法,难道我们...

[ Laravel 从入门到精通 ] Blade 模板引擎进阶篇:模板继承 & 组件引入

除了基本的数据渲染及控制结构指令之外,Blade 还提供了模板继承功能,从而允许视图模板之间继承、编辑及引入。 通过 @yield 和 @section/@show 在布局文件中定义内容 在理解 Blade 模板继承的时候,我们可以类比类的继承机制:在父类中定义抽象方法或公共方法,然后在子类中实现抽象方法或重写公共方法。在视图文件中,这个「父类」一般对应布局文件,不同的功能模块往往有不同...

[ Laravel 从入门到精通 ] Blade 模板引擎入门篇:数据渲染 & 控制结构

Blade 模板引擎概述 与视图文件紧密关联的就是模板代码,我们在视图文件中通过模板代码和 HTML 代码结合实现视图的渲染。和很多其他后端语言不同,PHP 本身就可以当做模板语言来使用,但是这种方式有很多缺点,比如安全上的隐患、容易产生业务逻辑与视图模板的耦合,而且在视图文件中到处使用 ...

[ Laravel 从入门到精通 ] 视图入门:Laravel 支持的视图格式以及在路由中的基本使用

Laravel 视图概述 我们在之前几篇教程中定义的路由大多数返回的都是纯字符串文本或者字符串拼接的 HTML,这主要是为了测试方便,在实际开发中,除了 API 路由返回指定格式数据对象外,大部分 Web 路由返回的都是视图,以便实现更加复杂的页面交互,我们在前面已经看到过了视图的定义方式: return view('以.分隔的视图模板路径'); 我们将在这篇教程中具体讨论视图实现技术。...

[ Laravel 5.7 文档 ] 进阶系列 —— 扩展包开发

简介 扩展包是添加额外功能到 Laravel 的主要方式。扩展包可以提供任何功能,小到处理日期如 Carbon,大到整个 BDD 测试框架如 Behat。 当然,有很多不同类型的扩展包。有些扩展包是独立于 Laravel 的,意味着可以在任何框架中使用,而不仅是 Laravel。比如 Carbon 和 Behat 都是独立的扩展包。所有这些扩展包都可以通过在 composer.json ...

[ Laravel 5.7 文档 ] 进阶系列 —— 通知

简介 除了支持发送邮件之外,Laravel 还支持通过多种传输通道发送通知,这些通道包括邮件、短信(通过 Nexmo)以及 Slack 等。通知可以存储在数据库以便后续在 Web 界面中显示。 通常,通知都是很短的、用于告知用户应用中所发生事件的消息。例如,如果你在开发一个计费应用,则需要通过邮件或短信等渠道给用户发送“账单支付”通知。 创建通知 在 Laravel 中,每个通知都以单独...

[ Laravel 5.7 文档 ] 进阶系列 —— 邮件

简介 Laravel 基于 SwiftMailer 库提供了一套干净、清爽的邮件 API。Laravel 为 SMTP、Mailgun、SparkPost、Amazon SES、PHP 的 mail 函数,以及 sendmail 提供了驱动,从而允许你快速通过本地或云服务发送邮件。 邮件驱动预备知识 基于 API 的驱动如 Mailgun 和 SparkPost 通常比 SMTP 服务器...

[ Laravel 5.7 文档 ] 前端开发 —— Blade 模板引擎

简介 Blade 是由 Laravel 提供的非常简单但功能强大的模板引擎,不同于其他流行的 PHP 模板引擎,Blade 在视图中并不约束你使用 PHP 原生代码。所有的 Blade 视图最终都会被编译成原生 PHP 代码并缓存起来直到被修改,这意味着对应用的性能而言 Blade 基本上是零开销。Blade 视图文件使用 .blade.php 文件扩展并存放在 resources/vi...

[ Laravel 5.7 文档 ] 基础组件 —— 视图

创建视图 注:想要了解如何编写 Blade 模板?请先查看 Blade 文档。 视图包含应用的 HTML 代码,并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录。下面是一个简单视图示例: Hello, {{ $name }} 由于这个视图存放在 resources/v...

[ Laravel 5.7 文档 ] 基础组件 —— HTTP 响应

创建响应 字符串 & 数组 所有路由和控制器处理完业务逻辑之后都会返回一个发送到用户浏览器的响应,Laravel 提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串,框架会自动将这个字符串转化为一个完整的 HTTP 响应: Route::get('/', function () { return 'Hello World'; }); 除了从路由或控...