问题描述
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