Einzelnen Beitrag anzeigen
  #1  
Alt 21.01.2018, 13:17:27
luk.as6 luk.as6 ist offline
Anfänger
 
Registriert seit: Jan 2018
Alter: 22
Beiträge: 1
luk.as6 befindet sich auf einem aufstrebenden Ast
PHP CLI Übergabe von Parametern Terminal

Hallo,
ich habe zwei PHP Skripte, welche ich über die Konsole ausführen möchte. Zwischen diesen beiden Skripten möchte ich Werte austauschen. Ich hatte den Ansatz dies über ein Singelton Objekt zu tun. Meine Implementierung sieht folgendermaßen aus

skript 1 (welches den Wert 10 für das andere Skript bereitstellt)
PHP-Code:
PHP-Code:
$mqtt mqttDataSingelton::getInstance(); 
$mqtt->test 5

$mqtt2 mqttDataSingelton::getInstance(); 
$mqtt2->test 10

echo 
$mqtt->test

while ( 
true 

    
//programm leben lassen 

skript 2 (Welches den Wert 10 abrufen soll)
PHP-Code:
require_once "mqttDataSingelton.php"

$mqtt mqttDataSingelton::getInstance(); 
echo 
$mqtt->test
Implementierung der Singelton Klasse
PHP-Code:
/* code wiki https://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Muster_Singleton */ 
class mqttDataSingelton 
  
/** 
   * instance 
   * 
   * Statische Variable, um die aktuelle (einzige!) Instanz dieser Klasse zu halten 
   * 
   * @var Singleton 
   */ 
  
protected static $_instance null
   
  public 
$message = array(); 
  public 
$topic = array(); 
  public 
$counter = -1
  public 
$test "ja"
    
  
/** 
   * get instance 
   * 
   * Falls die einzige Instanz noch nicht existiert, erstelle sie 
   * Gebe die einzige Instanz dann zurück 
   * 
   * @return   Singleton 
   */ 
  
public static function getInstance() 
  { 
      if (
null === self::$_instance
      { 
          
self::$_instance = new self
      } 
      return 
self::$_instance
  } 

  
/** 
   * clone 
   * 
   * Kopieren der Instanz von aussen ebenfalls verbieten 
   */ 
  
protected function __clone() {} 

  
/** 
   * constructor 
   * 
   * externe Instanzierung verbieten 
   */ 
  
protected function __construct() {} 

Beim Ausführen des zweiten Skripts bekomme ich die Fehlermeldung, dass die Variable "test" nicht definiert ist. Aber ich habe diese doch über das Singelton angelegt.
Mit Zitat antworten