Es ist viel sicherer, zu wenig als zuviel zu wissen.

CMD in PHP – Teil 2

Posted July 27, 2010 // PHP Programming // 0 views

Die Entwicklung am Kommandozeileninterpreter ist durchaus schwieriger als gedacht; hat man ein Problem behoben, haben sich dadurch fünf weitere aufgetan. Aber gerade das macht wohl den Spaß aus sich mit der Materie zu beschäftigen!

Schreibt man einen Kommandozeileninterpreter (habe ich eigentlich schon erwähnt, wie toll ich dieses Wort finde?), der möglichst einfach zu bedienen sein soll, steht man vor Problemen wie zum Beispiel: wieviel Instanzierungen hat ein Befehl (so hat beispielsweise “help” keine weiteren Verzweigungen und keine Parameter, wohingegen Befehle wie “user edit name 5 ‘Yada’” gleich mal 3 Instanzen hat und 2 Parameter haben)? Oder wieviele If-Abfragen muss ich noch machen, damit ich endlich einen horizontalen Scrollbalken bei meinem Widescreen-Monitor erhalte? Und weitere – jedenfalls sind das Probleme deren Lösung nicht so schnell zu finden sind (abgesehen von den If-Abfragen und dem Scrollbalken!).

Das aber wohl größte Probleme wird sein das Instanzierungs-Limit festzulegen – natürlich wäre es toll, einem Befehl soviele “Unterbefehle” wie möglich zu geben, jedoch ist das einfacher gesagt als getan. Aber es wird sich herausstellen, ob sich dieses Problem auch irgendwie lösen lässt!

Ach, und auch der Befehls-Listen-Array wurde geändert. Um dem Interpreter die Arbeit zu ersparen rauszufinden ob ein Befehl überhaupt mehrere Instanzen hat, ob Parameter erforderlich sind oder ob er einfach nur eine Funktion aufrufen soll:

private $commands = array(
		'help' => array(
			'type' => 'function',
			'param' => false,
			'function' => 'showHelp'),
		'cfg' => array(
			'type' => 'custom',
		)
	);

0 Comments

no comments available



Who?
Etwas sarkastisch, hin und wieder vielleicht ein klein wenig wahnsinnig und dennoch (meistens) realistisch. Mein Name ist Hirczy Kevin,
19 Jahre jung und ich bin Hobbyprogrammierer!


Archives

Categories