[ Laravel 从入门到精通 ] 处理用户请求:通过 Request 对象实例获取用户请求数据

到目前为止,我们在教程中所提供的大部分是静态页面。作为一门主要用于构建 Web 网站的动态语言,PHP 不仅可以处理静态页面,更重要的功能是处理用户动态请求,这才是一个 Web 2.0 网站最灵动的部分,从留言板到博客评论、到形形色色的社交网站、问答网站,无不是用户创造的内容让互联网更加绚烂多姿、五彩缤纷。而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工...

[ Laravel 从入门到精通 ] 前端入门:在 Laravel 项目中编写第一个 Vue 组件

和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 React,实现细节参考官方文档。 学院拥抱的是 Vue.js 框架,所以后续前端相关教程都会基于 Vue.js 编写,有关 Vue.js 的入门教程,可以阅读官方文档,值得一提的是,Vue....

[ Laravel 从入门到精通 ] 前端入门:CSS 预编译语言 Sass 快速入门教程

CSS 预编译语言概述 CSS 作为一门样式语言,语法简单,易于上手,但是由于不具备常规编程语言提供的变量、函数、继承等机制,因此很容易写出大量没有逻辑、难以复用和扩展的代码,在日常开发使用中,如果没有完善的编码规范,编写的 CSS 代码会非常冗余且难以维护。 为了解决上述问题,出现了很多 CSS 预编译语言,CSS 预编译语言是基于 CSS 语言的语法扩展,除了能解决上述缺乏语言特性带...

[ Laravel 从入门到精通 ] 前端入门:在 Laravel 项目中使用 Bootstrap 框架

Laravel 如何引入 Bootstrap 如官方文档所言,Laravel 并不强制你使用 CSS 框架,但是开箱提供了对 Bootstrap 的支持,在 resources/js/bootstrap.js(在 Laravel 5.7 之前的版本位于 resources/assets/js/bootstrap.js)中,我们可以看到对 bootstrap js库的引入: try { ...

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

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

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

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

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

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

在 Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO

我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动态参数形式附加在查询字符串中,形如 https://laravelacademy.org?page=100,但是这种包含动态参数的 URL 格式对 SEO 不友好,我们最好将其转化为 htt...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(四十一) —— 通过 Laravel Mix + Vue Router 路由懒加载实现单页面应用 JS 文件按组件分割

前言 随着单页面应用体量越来越大,将所有 JavaScript 代码都打包到一个文件,这个 JavaScript 文件也会随之越来越大,这样会造成的一个后果是在浏览器打开应用首页,会出现 JavaScript 文件加载时间过长而导致页面出现一段时间的空白现象,用户体验很不好。 好在 Vue Router 也考虑到这个问题,为我们提供了路由懒加载功能,通过路由懒加载,我们可以将不同路由对应...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(四十) —— 在管理后台添加公司、咖啡店、城市、用户、冲泡方法管理功能

作为整个系列的最后一篇教程,我们将会为管理后台新增公司管理、咖啡店管理、城市管理、用户管理和冲泡方法管理等功能,在这篇教程中,我不会过多阐述细节,而是给出大致框架和实现代码,你们可以遵循前面教程的学习方法,沿着后端路由->中间件/授权类/请求类->控制器->模型类/Service->前端路由(Vue Router)->前端页面/组件->Vuex模块的思路自己去了解下整个实现过程,相信有了...