如何列出PHP中的所有类并显示它们的自定义值?
我有两个具有以下代码的类:Class1.class.php和Class2.class.php如何列出PHP中的所有类并显示它们的自定义值?,php,Php,我有两个具有以下代码的类:Class1.class.php和Class2.class.php <?php namespace App; class Class1 { public $version = "1.0.0"; public $vendor = "somevendorname"; public $name = __CLASS__; public function __construct() { } public function
<?php
namespace App;
class Class1 {
public $version = "1.0.0";
public $vendor = "somevendorname";
public $name = __CLASS__;
public function __construct() {
}
public function _Version()
{
return $this->version;
}
public function _Name()
{
return $this->name;
}
public function _Vendor()
{
return $this->vendor;
}
}
?>
正如您所看到的,我正在使用名称空间,无法正确处理它们。我尝试了echo$vendor->_Name();但它表明找不到类名。首先,您的方法是非常错误的,您试图模拟spl\u自动\u寄存器 错误的方式 但让我们假设这是你的方式: 加载类文件与“调用”类不同: 您的代码应该如下所示:
namespace App;
class Class1 {
const Version = "1.0.0";
const Vendor = "somevendorname";
const ClassName ="Your Class Name"; <--- you can't use __CLASS___
function __construct() {
} etc....
}
<?php
include 'classes/Class1.class.php';
include 'classes/Class2.class.php';
$autoload = new App\Class2();
?>
<?php
include 'vendor/autoload.php';
foreach($autoload->_LoadVendors() as $vendor)
{
//here what to do?
}
?>
$myarray = array(
Class1 = array(
Name => Class1->_Name(),
Vendor => Class1->_Vendor(),
Version => Class1->_Version()
),
Class2 = array(
Name => Class2->_Name(),
Vendor => Class2->_Vendor(),
Version => Class2->_Version()
)
);
namespace App;
class Class1 {
const Version = "1.0.0";
const Vendor = "somevendorname";
const ClassName ="Your Class Name"; <--- you can't use __CLASS___
function __construct() {
} etc....
}
include 'vendor/autoload.php';
$classList = [];
foreach($autoload->_LoadVendors() as $vendor)
{
$classList[] = array('name'=>$vendor::Vendor,
'Version'::$Vendor::Version,
'Name'=>$Vendor::Name);
}