Laravel核心解读--Console内核】的更多相关文章

Console内核 上一篇文章我们介绍了Laravel的HTTP内核,详细概述了网络请求从进入应用到应用处理完请求返回HTTP响应整个生命周期中HTTP内核是如何调动Laravel各个核心组件来完成任务的.除了处理HTTP请求一个健壮的应用经常还会需要执行计划任务.异步队列这些.Laravel为了能让应用满足这些场景设计了artisan工具,通过artisan工具定义各种命令来满足非HTTP请求的各种场景,artisan命令通过Laravel的Console内核来完成对应用核心组件的调度来完成任…
Http Kernel Http Kernel是Laravel中用来串联框架的各个核心组件来网络请求的,简单的说只要是通过public/index.php来启动框架的都会用到Http Kernel,而另外的类似通过artisan命令.计划任务.队列启动框架进行处理的都会用到Console Kernel, 今天我们先梳理一下Http Kernel做的事情. Laravel核心解读--Contracts契约 内核绑定 既然Http Kernel是Laravel中用来串联框架的各个部分处理网络请求的,…
Laravel在启动时会加载项目中的.env文件.对于应用程序运行的环境来说,不同的环境有不同的配置通常是很有用的. 例如,你可能希望在本地使用测试的Mysql数据库而在上线后希望项目能够自动切换到生产Mysql数据库.本文将会详细介绍 env 文件的使用与源码的分析.另一篇Laravel核心解读--Contracts契约 Env文件的使用 多环境env的设置 项目中env文件的数量往往是跟项目的环境数量相同,假如一个项目有开发.测试.生产三套环境那么在项目中应该有三个.env.dev..env…
Contracts Laravel 的契约是一组定义框架提供的核心服务的接口, 例如我们在介绍用户认证的章节中到的用户看守器契约IllumninateContractsAuthGuard 和用户提供器契约IlluminateContractsAuthUserProvider 以及框架自带的App\User模型所实现的IlluminateContractsAuthAuthenticatable契约. 为什么使用契约 通过上面几个契约的源码文件我们可以看到,Laravel提供的契约是为核心模块定义的…
异常处理是编程中十分重要但也最容易被人忽视的语言特性,它为开发者提供了处理程序运行时错误的机制,对于程序设计来说正确的异常处理能够防止泄露程序自身细节给用户,给开发者提供完整的错误回溯堆栈,同时也能提高程序的健壮性. 这篇文章我们来简单梳理一下Laravel中提供的异常处理能力,然后讲一些在开发中使用异常处理的实践,如何使用自定义异常.如何扩展Laravel的异常处理能力. 注册异常Handler 这里又要回到我们说过很多次的Kernel处理请求前的bootstrap阶段,在bootstrap阶…
扩展用户认证系统 上一节我们介绍了Laravel Auth系统实现的一些细节知道了Laravel是如何应用看守器和用户提供器来进行用户认证的,但是针对我们自己开发的项目或多或少地我们都会需要在自带的看守器和用户提供器基础之上做一些定制化来适应项目,本节我会列举一个在做项目时遇到的具体案例,在这个案例中用自定义的看守器和用户提供器来扩展了Laravel的用户认证系统让它能更适用于我们自己开发的项目. 在介绍用户认证系统基础的时候提到过Laravel自带的注册和登录验证用户密码时都是去验证采用bcy…
Laravel 核心--Facades 门面 伊Summer 关注  0.1 2017.08.12 19:07* 字数 2017 阅读 1089评论 0喜欢 5 介绍 Facades 为应用的 IoC 服务容器 的类提供了一个静态的接口.Laravel 里面自带了一些 Facades,如Cache等.Laravel 的门面作为服务容器中底层类的“静态代理”,相比于传统静态方法,在维护时能够提供更加易于测试.更加灵活.简明优雅的语法. 解释 在 Laravel 应用这个上下文里面,一个 Facad…
工欲善其事,必先利其器.在开发Xblog的过程中,稍微领悟了一点Laravel的思想.确实如此,这篇文章读完你可能并不能从无到有写出一个博客,但知道Laravel的核心概念之后,当你再次写起Laravel时,会变得一目了然胸有成竹. PHP的生命周期 万物皆有他的生命周期.熟悉Android的同学一定熟悉Android最经典的Activity的生命周期,Laravel 也不例外,Laravel应用程序也有自己的生命周期.Laravel是什么?一个PHP框架.所以要想真正说清Laravel的生命周…
Redis核心解读:集群管理工具(Redis-sentinel) - Redis - TechTarget数据库 Redis核心解读:集群管理工具(Redis-sentinel)…
原文:Redis核心解读 Redis是知名的键值数据库,它广泛用于缓存系统.关于Redis的信息已经不用我多介绍了.这个系统的Redis文章主要从另外一个角度关注,Redis作为一个开源项目,短短2W行代码包含了一个健壮的服务器端软件的必需,我们从Redis中可以学习C语言项目的编程风格.范式,学习类Unix下的系统编程,还有对于一个常驻服务的健壮性考虑等等. 对于一个C语言的初学者来说,学习一个类似Redis这样不大不小的项目是非常好的选择.Redis既没有Nginx深入性能细节的晦涩编码方式…