抱歉,不是最好的标题。我正在构建一个包含许多不同类的应用程序,这些应用程序将由一个document类调用,该类接受定义为段的数组,然后用于引用要构建到文档中的段类。我提供了文档类和SegmentConfig文件,它们引用哪个段指向哪个文件位置。
首先参考下面的内容
对于如何使用它生成段对象,我找不到明确的答案,我可以像use $segmentObjectLocation
一样这样做,因为它等于‘Edi\段\AmtSegment’之类的东西。如果有人有洞察力。
其他信息:我尝试这样做的原因是,这将被用于多个地方,尽管应用程序。
$segmentLocation = include('SegmentConfig.php');
class Document{
public function __construct($structure){
$this -> documentStructure = $structure;
foreach($structure as $segment){
buildSegment($segment);
}
}
public function buildSegment($segment){
$segmentObjectLocation = $segmentLocation ->{$segment};
}
}
<?php
namespace Edi;
SegmentConfig.php
return (object) array(
'AMT' => 'Edi\Segments\AmtSegment',
'B4' => 'Edi\Segments\B4Segment',
'BEG' => 'Edi\Segments\BegSegment',
'CTT' => 'Edi\Segments\CttSegment',
'DTM' => 'Edi\Segments\DtmSegment',
'FOB' => 'Edi\Segments\FobSegment',
'GE' => 'Edi\Segments\GeSegment',
'GS' => 'Edi\Segments\GsSegment',
'IEA' => 'Edi\Segments\IeaSegment',
'ISA' => 'Edi\Segments\IsaSegment',
'MSG' => 'Edi\Segments\MsgSegment',
'N1' => 'Edi\Segments\N1Segment',
'N2' => 'Edi\Segments\N2Segment',
'N3' => 'Edi\Segments\N3Segment',
'N4' => 'Edi\Segments\N4Segment',
'N9' => 'Edi\Segments\N9Segment',
'PER' => 'Edi\Segments\PerSegment',
'PID' => 'Edi\Segments\PidSegment',
'PO1' => 'Edi\Segments\Po1Segment',
'Q2' => 'Edi\Segments\Q2Segment',
'R4' => 'Edi\Segments\R4Segment',
'REF' => 'Edi\Segments\RefSegment',
'SAC' => 'Edi\Segments\SacSegment',
'SE' => 'Edi\Segments\SeSegment',
'ST' => 'Edi\Segments\StSegment',
'TC2' => 'Edi\Segments\Tc2Segment',
'TD1' => 'Edi\Segments\Td1Segment',
'TD4' => 'Edi\Segments\Td4Segment',
'TD5' => 'Edi\Segments\Td5Segment',
)
发布于 2022-04-21 00:42:21
这听起来并不是一个特别好的主意,但是:
class Foo {}
$n = 'Foo';
$f = new $n();
var_dump($f);
输出:
object(Foo)#1 (0) {
}
https://stackoverflow.com/questions/71947647
复制相似问题