PHPer面试指南-laravel 篇

PHPer面试指南-laravel 篇

大家好,又见面了,我是全栈君。

点击上方“码农编程进阶笔记”,选择“关注公众号”

技术文章第一时间送达!

  • 简述 Laravel 的生命周期

Laravel 采用了单一入口模式,应用的所有请求入口都是 public/index.php 文件。

  1. 注册类文件自动加载器 : Laravel通过 composer 进行依赖管理,无需开发者手动导入各种类文件,而由自动加载器自行导入。

  2. 创建服务容器:从 bootstrap/app.php 文件中取得 Laravel 应用实例 $app (服务容器)

  3. 创建 HTTP / Console 内核:传入的请求会被发送给 HTTP 内核或者 console 内核进行处理

  4. 载入服务提供者至容器:
    在内核引导启动的过程中最重要的动作之一就是载入服务提供者到你的应用,服务提供者负责引导启动框架的全部各种组件,例如数据库、队列、验证器以及路由组件。

  5. 分发请求:一旦应用完成引导和所有服务提供者都注册完成,Request 将会移交给路由进行分发。路由将分发请求给一个路由或控制器,同时运行路由指定的中间件

  • 服务提供者是什么?

服务提供者是所有 Laravel 应用程序引导启动的中心, Laravel 的核心服务器、注册服务容器绑定、事件监听、中间件、路由注册以及我们的应用程序都是由服务提供者引导启动的。

  • IoC 容器是什么?

IoC(Inversion of Control)译为 「控制反转」,也被叫做「依赖注入」(DI)。什么是「控制反转」?对象 A 功能依赖于对象 B,但是控制权由对象 A 来控制,控制权被颠倒,所以叫做「控制反转」,而「依赖注入」是实现 IoC 的方法,就是由 IoC 容器在运行期间,动态地将某种依赖关系注入到对象之中。

其作用简单来讲就是利用依赖关系注入的方式,把复杂的应用程序分解为互相合作的对象,从而降低解决问题的复杂度,实现应用程序代码的低耦合、高扩展。

Laravel 中的服务容器是用于管理类的依赖和执行依赖注入的工具。

  • Facades 是什么?

Facades(一种设计模式,通常翻译为外观模式)提供了一个”static”(静态)接口去访问注册到 IoC 容器中的类。提供了简单、易记的语法,而无需记住必须手动注入或配置的长长的类名。此外,由于对 PHP 动态方法的独特用法,也使测试起来非常容易。

  • Contract 是什么?

Contract(契约)是 laravel 定义框架提供的核心服务的接口。Contract 和 Facades 并没有本质意义上的区别,其作用就是使接口低耦合、更简单。

  • 依赖注入的原理?

这个不解释,这是理解 IoC 容器的前提。

  • 谈谈 Laravel 和 YII 框架的区别

  1. 在 YII 框架中的路由是通过书写 Controller、Action 间接定义路由,而 Laravel 中是在 route 路由文件中直接定义路由入口

  2. Laravel 提供 ORM 对象关系映射,使读写数据库的操作更加简单

  3. Laravel 提供更多的 Artisan 命令和脚手架开发

  4. Laravel 的 Composer 扩展包比 Yii 框架更多,开发更加高效

关注公众号,回复「进群」即可进入PHP高级技术交流群。

PHPer面试指南-laravel 篇

PHPer面试指南-laravel 篇

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112052.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MT4下载怎么下?「建议收藏」

    MT4下载怎么下?「建议收藏」在哪里可以下载到mt4了?个人装了一些像应用宝这类的搜索软件,里面找不到地方下载MT4这个应用软件,怎么样,实际上到百度一搜索就能找到。当输入MT4的时候,会看到下拉框有这么多选择,只需选MT4安卓手机版输入便可`mt4download.cn`搜索出来肯定有很多下载链接,怎样选,正常选第一个搜索主页,【正版】MT4软件【免费下载】来自官网或正规下载网站,切记不要到那类广告网站,会给你电脑安装很多垃圾软件,使系统变得非常慢。点进这个链接后,你就能看到MetaTrader4广受欢迎的软件,根据你手机的操作系

  • 计算机网络p2p协议在第几页_p2p传输协议

    计算机网络p2p协议在第几页_p2p传输协议在上篇文章中说过,要写写P2P协议的,嗯,来写写,虽然写的不是太好.P2P是什么?还是要回到这个场景:如果想要下载一个电影,一般都是通过什么方式呢?我希望这次你的答案,除了HTTP方式,还有FTP方式(要不上篇文章岂不是白写了?)但是你发现了嘛,不管是HTTP的方式,还是FTP的方式,都有一个比较大的缺点,就是难以解决单一服务器的带宽压力,因为它们使用的都是传统的…

    2022年10月21日
  • debugview使用方法_debugger怎么用

    debugview使用方法_debugger怎么用1、什么是DebugView?DebugView是一个系统调试信息输出的捕获工具。2、DebugView它能干吗?可以捕获程序中由TRACE()和OutputDebugString()输出的信息。说的具体一点,在程序中使用如下函数:1)、OutputDebugString 或者在MFC中使用TRACE2)、内核模式中使用Out_Deb

    2022年10月28日
  • python 大数组切割成多个小数组

    python 大数组切割成多个小数组#一个大数组切割成无数的小数组defarr_size(arr,size):s=[]foriinrange(0,int(len(arr))+1,size):c=arr[i:i+size]s.append(c)newlist=[xforxinsifx]returnnewlist

  • mysql的tinyint范围

    mysql的tinyint范围createtabletest( idbigint(20)notnull, user_typetinyint(4)notnull;)以上建表方式:user_type值为[-128,127]中的整数createtabletest( idbigint(20)notnull, user_typetinyint(4)unsignednotnull;)…

  • [转]深邃之思想,纯粹之灵魂——我所了解的柳智宇学长

    [转]深邃之思想,纯粹之灵魂——我所了解的柳智宇学长https://zhuanlan.zhihu.com/p/32340797柳智宇学长文集前言部分深邃之思想,纯粹之灵魂——我所了解的柳智宇学长——2017年12月25日中国.湖北.武汉.华中科技大学【陆秋宇】正文部分读到自己高二写的这篇文章——2005年中国.湖北.武汉.华中师大一附中远慰风雨夕——2006年7月斯洛文尼亚.卢布尔雅那.第47届IMO前夜我在大学的成长历程…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号