[ Laravel 5.8 文档 ] 安全系列 —— 授权

简介 除了提供开箱即用的认证服务之外,Laravel 还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问权限。和认证一样,在 Laravel 中实现授权很简单,主要有两种方式:Gate 和 Policy。 可以将 Gate 和 Policy 分别看作路由和控制器,Gate 提供了简单的基于闭包的方式进行授权,而 Policy 和控制器一样,对特定模型或资源上的复杂授权逻辑进行分组,...

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

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

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

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

Laravel 5.8 新特性系列 —— 编译后的 Blade 模板引入编译前模板文件路径以便调试

感谢 JetBrains 公司(PHPStorm 所属公司)Olga Strizhenko (@bzixilu) 的贡献,在 Laravel 5.8 中,编译后的 Blade 模板将会引入编译前的 Blade 视图模板文件路径: 这样一来,在 PHPStorm 中,我们就可以通过映射到原始 Blade 模板来对 Blade 进行 Debug。如果你对此感兴趣的话,可以与之相关的 iss...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 用户注册登录流程及多字段登录实现

注册登录流程 我们接着上一篇教程继续往下走。如果系统中还没有任何用户的话,首先需要点击注册按钮进入注册页面: 填写注册信息,点击注册按钮,完成注册。如果设置了邮箱验证功能,需要验证邮箱后才能登录,否则会直接登录,并跳转到 home 路由: 如果在登录和注册过程中验证表单失败,则会在对应字段提示错误信息: 对应的验证规则在相应的控制器中都可以看到,如果你对这一块还不太熟悉,可以查看在...

[ 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 文档 ] 官方扩展包 —— 远程操作解决方案:Envoy Task Runner

简介 Laravel Envoy 为定义运行在远程主机上的通用任务提供了一套干净的、最简化的语法。使用 Blade 风格语法,你可以轻松为开发设置任务,Artisan命令,以及更多。目前,Envoy 只支持 Mac 和 Linux 操作系统。 安装 首先,使用 Composer 的 global require 命令全局安装 Envoy: composer global require ...