如何解决require_once返回true而不是预期的对象
两个vendor/autoload.php
文件基本相同:
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit1e055ec2de42b90d5e1653b608643281::getLoader();
在两个文件中:
$composer_object = ComposerAutoloaderInit1e055ec2de42b90d5e1653b608643281::getLoader();
var_dump($composer_object);
> object(Composer\Autoload\ClassLoader
这让我深入研究了Composer的自动加载文件(功能丰富),但仍然感到困惑:
$var = require_once '/srv/path_to_main/vendor/autoload.php';
var_dump($var);
> boolean true
$var = require_once '/srv/path_to_subdir/vendor/autoload.php';
var_dump($var);
> object(Composer\Autoload\ClassLoader
为什么要求第一个文件返回boolean true
,而不返回object(Composer\Autoload\ClassLoader
?
更新
我创建了vendor/autoload.php
,vendor/aught.php
的副本,当我需要该副本时,它会返回对象。
解决方法
<?php
/**
* @ORM\JoinColumn(name="commentary_id",nullable=true)
* @ORM\OneToOne(targetEntity="App\Entity\Commentary")
*/
private $commentary;
返回require_once
而不是返回值(如果已经包含或需要该文件)。
如果两次需要,您也会发现子目录1也获得true
:
true
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。