Composer/Tutorial: Extension für Composer fit machen: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Grundlagen)
(Die composer.json)
Zeile 36: Zeile 36:
  
 
Mit <code>name</code> wird der Name des Pakets festgelegt. Hierbei ist zu beachten, dass sich der Name aus 2 Teilen zusammen setzt: <code>&lt;vendor&gt;/&lt;name&gt;</code>.
 
Mit <code>name</code> wird der Name des Pakets festgelegt. Hierbei ist zu beachten, dass sich der Name aus 2 Teilen zusammen setzt: <code>&lt;vendor&gt;/&lt;name&gt;</code>.
 +
'''<code>&lt;vendor&gt;</code>''' ist der Name des Entwicklers, es empfiehlt sich den Personen/Organisations-Namen den man auf github verwendet zu benutzen.
 +
'''<code>&lt;name&gt;</code>''' ist der Name des Pakets, es empfiehlt sich den Namen des Repositories auf github zu verwenden.
 +
 +
{{Hinweis|Der Paketname wird normalisiert. Es sind ausschließlich '''kleine Buchstaben''', '''Zahlen''', '''Unterstriche''' und '''Bindestriche''' erlaubt!<br>
 +
'''Gut''': my-name/my-extension-name<br>
 +
'''Schlecht''': my_name/my_extension_name<br>
 +
'''Ungültig''': MyName/MyExtensionName}}
  
 
=Beispiele=
 
=Beispiele=

Version vom 21. Juni 2014, 21:06 Uhr



MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.


Grundlagen

Hinweis.png Hinweis: In Composer redet man von Paketen, nicht von Erweiterungen - weil ein Composer Paket nicht an ein CMS / System gebunden ist. Aber ein Composer Paket kann auch eine Contao Erweiterung sein.


Die composer.json

Die composer.json ist die zentrale Konfigurationsdatei für Composer. In dieser werden Name, Beschreibung, Typ, Lizenz, Author, und viel mehr hinterlegt. Eine vollständige Schema-Beschreibung kann man auf der Composer Website finden. An dieser Stelle werden erst ein mal nur auf die wichtigsten Einträge erörtert.


Hinweis.png Hinweis: Mit Repository ist das git/svn/hg Repository gemeint.


Die composer.json muss auf der obersten ebene im Repository hinterlegt werden. Die die Dateiendung bereits verrät, handelt es sich dabei um eine JSON Datei.

Fangen wir mal mit den Basics an:

{
    "name": "me/my-extension",
    "description": "A very usefull extension.",
    "keywords": ["contao", "extension", "usability"],
    "type": "contao-module",
    "homepage": "http://my-homepage.me/my-extension",
    "license": "LGPL-3.0+"
}

Mit name wird der Name des Pakets festgelegt. Hierbei ist zu beachten, dass sich der Name aus 2 Teilen zusammen setzt: <vendor>/<name>. <vendor> ist der Name des Entwicklers, es empfiehlt sich den Personen/Organisations-Namen den man auf github verwendet zu benutzen. <name> ist der Name des Pakets, es empfiehlt sich den Namen des Repositories auf github zu verwenden.


Hinweis.png Hinweis: Der Paketname wird normalisiert. Es sind ausschließlich kleine Buchstaben, Zahlen, Unterstriche und Bindestriche erlaubt!

Gut: my-name/my-extension-name
Schlecht: my_name/my_extension_name
Ungültig: MyName/MyExtensionName


Beispiele

Repository mit TL_ROOT

Repository mit system/modules/my_extension

Repository das bei system/modules/my_extension startet

Neue Struktur

Ansichten
Meine Werkzeuge

Contao Community Documentation

Meiner Meinung nach, sollten zu kleine Webspacepakete entweder Webspaß-Pakete (man beachte die Ironie) oder Horsting-Pakete heißen!

Sascha Müller
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge