问题背景:公司服务器上没有安装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手动添加组件或者类文件实现动态加载