Laravel 框架如何基于 Composer 实现类和文件的自动加载

对于熟练使用 Laravel 框架的同学来说,对 Composer 肯定不陌生,我们在 Laravel 框架中无论使用辅助函数还是 PHP 类,都不会涉及到类和文件的加载操作,但实际上这个工作是 Composer 这个大管家在底层默默帮我们完成的,那么,有多少同学知道 Composer 底层是如何实现 PHP 命名空间与文件目录的映射,以及类和文件的自动加载的? 以 Laravel 项...

通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(三):数据绑定及底层实现

上篇教程我们介绍了 Livewire 组件创建和渲染的底层实现逻辑,这篇教程我们来演示下数据绑定的使用示例。和 Vue 组件类似,数据绑定的作用主要是在不刷新页面的情况下实现视图中某些区块数据的动态更新,而且这个绑定是双向的:后端数据修改后可以即时渲染到视图模板,在视图模板中修改数据后也可以将其更新到后端绑定变量。 双向绑定 通过上篇教程的分析我们已经知道,Livewire 组件的数据绑...

通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(一):快速上手篇

Livewire 简介 现如今的 JavaScript 有些疯狂,各种框架和工具层出不穷,有种「山中方一日,世上一千年」的感觉,有的时候,即使是很简单的功能,比如弹出模态框或者对前端交互做一些微调,我们也不得不引入大量的代码(比如安装一个 NPM 包),这无疑提高了应用的复杂性,也让项目代码库显得臃肿不堪,而且有的时候真的有点杀鸡焉用牛刀。 其实我们大可不必如此。 因为有了 Livewi...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 基于 CAS 实现通用的单点登录解决方案(一):CAS 原理及服务端搭建

什么是 CAS 上篇教程我们介绍了单点登录,以及如何基于 Cookie 实现简单的单点登录,这篇教程,我们将基于 CAS 实现更加通用的单点登录解决方案,不再受域名约束。 CAS(Central Authentication Service)是耶鲁大学的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方案。采用 CAS 最大的因素是从安全性角度来考虑,用户在 CAS 服务...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— 通过 Eloquent 模型实现批量赋值和软删除

在上一篇教程中,我们基于 Eloquent 模型实现了对数据表记录的增删改查操作,今天我们在此基础上介绍两个 Eloquent 模型提供的高级功能 —— 批量赋值和软删除。 批量赋值 批量赋值主要用于快速设置模型属性。 在介绍批量赋值之前,我们先看一个例子,之前我们新增或者修改 Eloquent 模型时都是通过依次设置每个属性来实现的: $post = new App\Post; $po...