开发工程师面试经典问题之phpdotenv源码阅读

在一般面试中,校招中,常常会被面试官问道,"你有看过源码吗?".很多同学的答案是没有。大部分同学看源码少的原因就是觉的代码量多,难理解就看的少了。下面分享一个github上代码量少,易懂且非常实用的项目。带你读源码入门。

phpdotenv

基于应用运行的环境不同设置不同的配置值能够给我们开发带来极大的方便。比如,我们通常在本地和线上环境配置不同的缓存驱动。流行框架Laravel使用Vance Lucas开发的PHP库DotEnv来实现这一机制。

此项目github的地址是https://github.com/vlucas/phpdotenv。

开发工程师面试经典问题之phpdotenv源码阅读

DotEnv代码结构清晰,分为src和tests两部分.

src是这个项目的主要实现,其中Exception下面只要是各种异常处理。

tests就是相关的测试文件。

读源码,要从README开始。README简单直接告诉你为什么要写这个项目,如何安装,使用,配置注意事项等。

为什么要配置信息写到env?因为将配置文件的内容直接写到代码中,十分不安全,且调试不方便。

这个项目的目的,就是通过读取env文件的内容,设置环境变量。因此,解读这个项目就应该分成两部分来看。

读取文件核心代码

开发工程师面试经典问题之phpdotenv源码阅读

上面的函数很简单,完成的任务就是确保这个file_path的内容是可读的。否则就抛出异常。

主要使用了PHP的文件处理的函数。

设置环境变量核心代码

开发工程师面试经典问题之phpdotenv源码阅读

我把这段代码中的几个重要的点解释一下。

Immutable:在英文中的含义是不可改变的

apache_setenv() 函数是用来设置 Apache 子进程环境变量。

$_SERVER,$_ENV是PHP超全局变量,超全局变量是在全部作用域中始终可用的内置变量。

上述的例子就是调用PHP核心函数,就完成了环境变量的设置。

总结

上述的例子就是通过读取文件,调用PHP核心函数,就完成了环境变量的设置。还有一部分是异常处理,中间就是各种逻辑判断。

我们读源码的目的是学习代码规范,以及这个项目的注意事项。

攻克了这个项目,读源码是不是有信心了?面对面试官的源码相关的问题,你也应该胸有成竹。你只要把这个项目说明白,你就超越了90%的求职者,绝对是面试成绩的加分项!趁热打铁,快去把整个项目完整的读完!

读这个项目遇到任何问题,欢迎留言一起交流,我们一起成长进步!

祝你早日拿到心仪的offer!

未经允许不得转载:新闻 » 开发工程师面试经典问题之phpdotenv源码阅读

相关推荐