Zum Inhalt springen

TypoScript(-Syntax) als Standardkonfigurationssprache?

Erstellt am 13. Juli 2008 · 2 Antworten · letzte Antwort am 14. Juli 2008

Tags: Frage

dyne ·

Hallo,

ich habe mir gerade ein wenig Gedanken gemacht und möchte mal wissen was ihr so davon haltet.

Ich arbeite im Moment an einem größeren Projekt, für das ich ein eigenes kleines AJAX-Framework entwickelt habe, welches der Bedrüfnisse des Projekts gerecht wird. Mit dem Framework ist es möglich über ein Konfigurationsarray, das in einer eigenen Datei liegt sogenannte Windows zu erzeugen, ist aber nicht weiter wichtig.

Jedenfalls sieht die Datei etwa so aus:

<?
	$soiWindows = array(
        'addCustomer'
	        => array(
	        	'title' => 'Neuer Kunde',
	            'table' => 'fe_users',
	            'type' => 'add',
	            'fieldList' => 'name,address,city,telephone',
	            'fieldLabels' => 'Name,Adresse,Ort,Telefon',
	            'nextWindow' => 'listCustomers',
	            'accessKey' => 'e',
	            'level' => 1
			),
		'listCustomers'
	        => array(
	        	'title' => 'Kunden zum Bearbeiten wählen',
	            'table' => 'fe_users',
	            'where' => 'usergroup = '.$config['customerUserGroup'],
	            'type' => 'listForEdit',
	            'fieldList' => 'name,address,city',
	            'nextWindow' => 'editCustomer',
	            'accessKey' => 'u',
	            'level' => 1,
	            'orderBy' => 'name ASC'
			)
/* weitere "Windows" */
);
?>

Jetzt habe ich mir überlegt, bequemer zu beschreiben wäre es eigentlich mit einer Art TypoScript-Syntax. Also etwa so:

addCustomer = WINDOW
addCustomer{
	title = Neuer Kunde
	table = fe_users
	type = add
	fieldList = name,address,city,telephone
	fieldLabels = Name,Adresse,Ort,Telefon
	nextWindow = listCustomers
	accessKey = e
	level = 1
}

listCustomers < addCustomer
listCustomers{
	title = Kunden zum Bearbeiten wählen
	where = usergroup = {$conf.customerUserGroup}
	orderBy = name
	type=ListForEdit
	nextWindow = editCustomer
	accessKey = u
}

Hat jemand anderes schon einmal mit dem Gedanken gespielt eine solche Konfigurationssprache für andere Projekte einzusetzen oder einen Standart zu entwickeln?
Was haltet Ihr davon? Warum sollte man das tun? Warum sollte man das lassen?

Bin gespannt 🙂

steffenk ·

das kannst Du ja schon, und Du brauchst dazu auch nicht neue Objekte

wurzel {
  ast1 {
    title = 123
    name = xyz
  }
  ast2 {
    title = 123
    name = xyz
  }
}

in php kannst Du das einlesen mit $this->conf['wurzel.']

und hast ein array, das Du per json verpacken kannst oder sonst wie abarbeiten kannst.

dyne ·
steffenk schrieb

in php kannst Du das einlesen mit $this->conf['wurzel.']

Du redest doch immernoch von einer TYPO3-Umgebung oder nicht? Ich meine das ja TYPO3-unabhängig.

Was ich meine ist, ist es sinnvoll einen Standart von Konfigurationssprache zu entwickeln, der TypoScript ähnelt (und evtl. auch kompatibel ist) um die Vorzüge auch in Nicht-TYPO3-Projekte zu transportieren.

Edit: Nachdem ich mir jetzt mal das von dir angesprochene JSON angesehen habe, bin ich mir nicht sicher ob es schon das ist was ich suche.

Gut an JSON:

  • Gut zu lesen

  • Platzsparend

  • Ausführbarkeit in JavaScript

Schlecht an JSON:

  • TypoScript ist besser zu lesen (finde ich)

  • JSON kennt keine Klassen

Korrigiert mich, wenn ich mich täusche