如果今天不努力,明天也不努力,那么人生只是在重复而已。(心不定,难成事)

Laravel手动添加组件或者类文件实现动态加载

Laravel Sam 86℃

问题背景:公司服务器上没有安装composer,第三方库上传后不能加载

laravel 框架单一入口(/public/index.php),然后主要spl_autoload_register ( autoload 函数的队列,当类不存在的时候逐个执行队列中注册的函数)函数实现类的动态加载功能。

具体加载代码可以参考:composer\ClassLoader.php,composer\autoload_real。

加载遵循规范PSR-0/4文件,以及类文件,类不存在的时候会执行composer\ClassLoader.php中的loadClass方法。

看完源码以后我们可以很方便的手动添加组件或者类文件

解决办法:

修改服务器上这个文件vendor\composer\autoload_psr4.php

增加一行  ‘Facebook\\’ => array($vendorDir . ‘/facebook/graph-sdk/src/Facebook’),

问题解决,第三方sdk可以正常加载使用

 

转载请注明:PHP笔记 » Laravel手动添加组件或者类文件实现动态加载

喜欢 (0)