The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Prty::ClassConfig - Definiere Information auf Klassenebene

SYNOPSIS

Klasse einbinden:

    use base qw/... Prty::ClassConfig/;

Information definieren (Anwendungsbeispiel):

    package Model::Object;
    
    __PACKAGE__->def(
        table=>'Object',
        prefix=>'Obj',
        columns=>[
            id=>{
                domain=>'integer',
                primaryKey=>1,
                notNull=>1,
                description=>'Primärschlüssel',
            },
            ...
        ],
        ...
    );

Information abfragen:

    my $table = Model::Object->defGet('table');
    =>
    Object

DESCRIPTION

Die Klasse ermöglicht, Information in Klassen zu hinterlegen und abzufragen. Anstatt hierfür Klassenvariablen mit our zu definieren, verwaltet die Klasse sämliche Information zu einer Klasse in einem einzigen Hash. Die Methoden der Klasse verwalten (erzeugen, lesen) diesen Hash.

METHODS

Information definieren

def() - Definiere Klassen-Information

Synopsis

    $class->def(@keyVal);

Description

Hinterlege die Information @keyVal in der Klasse $class.

Arguments

@keyVal

Liste von Schlüssel/Wert-Paaren. Der Schlüssel ist eine Zeichenkette, der Wert ein beliebiger Skalar (Zeichenkette oder Array- oder Hash- Referenz etc.)

Returns

nichts

Information abfragen

defGet() - Frage Klassen-Information ab

Synopsis

    @vals = $this->defGet(@keys);
    $val = $this->defGet($key);

Description

Liefere die Werte zu den Schlüsseln @keys. Im Skalarkontext liefere den Wert des ersten Schlüssels.

defSearch() - Suche Klassen-Information in Vererbungshierarchie

Synopsis

    $val = $class->defSearch($key);

Description

Suche "von unten nach oben" in der Vererbungshierarchie, beginnend mit Klasse $class, die Information $key. Die erste Klasse, die die Informatinon besitzt, liefert den Wert.

VERSION

1.097

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2016 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.