Thread Best Practice : "local < Variable >;" & Bereitstellung (6 answers)
Opened by YAPD at 2021-05-12 13:46

YAPD
 2021-05-12 13:46
#193266 #193266
User since
2015-09-20
146 Artikel
BenutzerIn

user image
Hi Leute,

ich habe eine Anwendung, in der ich die Objekte über einen
Object Manager zur Verfügung stelle. Diese rufen ich hier
folgendermaßen auf :

my $OM = Kernel::OM -> New( );
$OM -> Load( 'Kernel::Internals::Logs' );

Näheres zu meiner Struktur könnt ihr aus diesem
Thread erlesen :

Quote


Nun möchte ich natürlich, dass das Objekt des Objekt - Manager ( $OM )
überall verfügbar ist, z. B. in 'Kernel::Internals::Logs'.

Ist die beste Möglichkeit, die Variable als "local" zu definieren
und so das Objekt aufzurufen ? Der Code wäre entsprechend :

Code: (dl )
1
2
local $Kernel::OM = Kernel::OM -> New( );	
$Kernel::OM -> Load( 'Kernel::Internals::Logs' );


Und der Aufruf in 'Kernel::Internals::Logs' :

Code: (dl )
1
2
3
if ( !$Kernel::OM ) { print 'Fehler bei der Initialisierung des Kernels des Objekt - Managers !' }

my $Config = $Kernel::OM -> Load( 'Kernel::Config' )


Es funktioniert so zwar anscheinend, aber ich möchte halt gerne
wissen, ob man es besser oder anders machen könnte.

Vielen Dank !

Beste Grüße
YAPD
Last edited: 2021-05-12 15:27:34 +0200 (CEST)
Yet Another Perl Developer

View full thread Best Practice : "local < Variable >;" & Bereitstellung