Thinkphp5源碼分析第二章 接着上次的base.php分析

上次我们知道base.php最后的时候点用了Loader类并使用了里面的方法,所以今天我们从这里开始。如下图所示:

看到这几个关键字想必大家都名了跟什么东西有关系了,那就是composer,下面我们一起来看看这个东西是如何实现的 把composer安装后的东西直接自动载入到项目中来使用的。

首先我先理一下关系图,框架先是从index.php执行起,再到start.php,再到base.php,而base.php定义了框架所需常量 自动载入错误注册和惯例配置。像下面这样子:

 

接着我们从环境变量讲起,如下图:

A:这里PHP_SAPI是PHP内置常量,返回描述 PHP 所使用的接口类型(theServerAPI,            SAPI)的小写字符串。例如,CLI 的 PHP 下这个字符串会是 "cli",Apache下可能会            有几个不同的值,取决于具体使用的SAPI。

B:通过三元运算取巧 如果等式sapi的返回结果是cli那么为返回true,不为只返回false

C:当define参数第二个为true时定义常量 否则不定义,并返回相应的布尔类型值,也就是        true或者false。

D:PHP_OS检查运行环境。

C:strpos — 查找字符串首次出现的位置(也就是win这个字符串出现的位置)

E:这个!==false就很关键了 如果搭建在这里没逗号的情况下直接写成true是会报错的,但          是还有另一个用途那就是让常量返回布尔类型的值而非 int(0)这个样的字符。

      下面这里的代码是为了验证我猜测作者的当时的想法,如下:

//define('IS_WIN', strpos(PHP_OS, 'WIN') true);
//define('IS_WIN', strpos(PHP_OS, 'WIN') ,true);
define('IS_WIN', strpos(PHP_OS, 'WIN') !==false);
var_dump(IS_WIN);

每一行代码的输出结果都不一样,大家可以尝试动手输出试试。下面我们接着往下,该到这个载入Load

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

:::::::::

生活多磨赚钱可多

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值