MB: Performance: Statische Klasse vs. Assoziatives Array

Beitrag lesen

moin,

inwiefern macht es in einer Ablagerungsdatei einen performance unterschied ob ich statische Klassen nehme oder ein array?

Beispiel 1: Statische Klasse

namespace DE;

class Notification {

  /**
   * @var string MESSAGE_SEND
   */
  const MESSAGE_SEND    = 'Nachrich wurde versendet';
  /**
   * @var string MESSAGE_ERROR
   */
  const MESSAGE_ERROR   = 'Fehler bei Versendung der Nachricht';
  /**
   * @var string MESSAGE_
   */
  const MESSAGE_        = '...';
  /* ... */
}

include( 'de/Notification.php' );

Flash {
  const SUCCESS = 'success';
  public static function set( string $type, string $notification ) : void {
    // ...
  }
  public static function get() : array {
    // ...
  }
}

Flash::set( Flash::SUCCESS, \DE\Notification::MESSAGE_SEND );

Beispiel 2: assoziatives Array

return [
  'MESSAGE_SEND'    = 'Nachrich wurde versendet',
  'MESSAGE_ERROR'   = 'Fehler bei Versendung der Nachricht',
  'MESSAGE_'        = '...',
  /* ... */
]
$notifi = include( 'de/notification.inc.php' );

Flash {
  const SUCCESS = 'success';
  public static function set( string $type, string $notification ) : void {
    // ...
  }
  public static function get() : array {
    // ...
  }
}

Flash::set( Flash::SUCCESS, $notifi[ 'MESSAGE_SEND' ] );

Mit einen mächtigen IDE ist es schon schmackhaft das erste Beispiel zu nehmen, da es intellisense + Kommentare zur verfügung stellt. Das zweite Beispiel dürfte weniger rechen aufwand haben aber auch die netten Features nicht haben.

Mit wieviel mehr rechenaufwand hätte ich, wenn ich mich den für das erste entscheiden würde??? Ist es gut verkraftbar? Wenn ihr mehr Daten bräuchtet um etwas konkrete aussagen zutreffen: PHP 7.+ Standard Host mit Standard leitung, alles Standert im EU raum.

lgmb

PS: Bin kein Techniker und miserabel in Netzwerktechnik. Es sein mir verziehen wenn ich Standard gesagt habe.