Deutschland United States United Kingdom
ContentLion - Open Source CMS

QA Plugindata

Das PHPDoc hat leider noch nicht die richtige Syntax (deswegen zeigt Netbeans die im autocomplete nicht an)

@params gibt es nicht, du musst jeden Parameter in einer neuen Zeile mit @param auflisten.

In deinem Fall müsste es z.B.
@param string $property identifier for the data
@param string $value value

usw. heißen. string wird kleingeschrieben, danach den Namen der Variable, danach eine Beschreibung. Teste mal netbeans, der belegt das automatisch vor. Siehe auch: @param string $property identifier for the data

Siehe auch: http://www.phpdoc.org/docs/latest/for-us…tags/param.html

Desweiteren sind deine Kommentare nicht wirklich aussagekräftig. das setData irgendwelche Daten setzt, hätte ich mir auch selbst denken könne. Aber in welchem Format muss man zum Beispiel lastUpdate angeben? Wo ist der Unterschied zwischen area und areaType? (ich weiß das, aber den nutzer evtl nicht) Und du kannst z.B. noch reinschreiben, dass last_update per default auf dem aktuellen Timestamp gesetzt wird.

BTW: Wieso muss value eigentlich ein string sein? Kannst du das nicht serialisieren?

Gute Idee, habs mal gemacht! :)
Ich hab mal die Kommentare angepasst, stimmen die jetzt so? :D

Passt leider nocht nicht ganz.

schau mal:

Zitat


/*
*
* Saves a custom value
*
* @param string $property identifier to find the $value
* @param mixed $value
* @param string $area the name of the plugin / skin
* @param string $areaType plugin / skin
* @param string $lastUpdate format Y-m-d H:i:s
*/


Format, wie gesagt: @param datentyp variablenname beschreibung
und ohne Klammern ;)

(BTW: Ein Unix-Timestamp ist eine Zahl und kein String - akzeptierst du aktuell noch nicht^^)

Wie nennt man das denn dann? ^^

Und wie kann man optimale Parameter angeben? :)

Ok, hab was bei Google gefunden. ^^
Schau mal bitte, ob's jetzt passt. ;)

hab dir doch den code schon 1 zu 1 angegeben ;-)

das es optional ist, kannst in der Beschreibung angeben.

Format sollte halt passen, damit die PHP-Tools, dass richtig anzeigen. Gibt mittlerweile einige Tools, die das nutzen.

^^

So, habs nochmal eingecheckt, wenn's jetzt nicht passt, geb ich's auf! ^^

Hat leider immer noch nicht gepasst, das "$" hat noch gefehlt. ^^
Jetzt müsste es aber stimmen! :P

Noch nicht ganz. Hab jetzt selbst noch was dran geändert, damit das Format richtig ist (fängt mit /**).
Siehe: http://code.contentlion.de/diff.php?repn…p&rev=20&peg=20

Fehlt aber noch eine Sache: Wieso kann ich bei getData nicht den areaType angeben? Hatte ich auch hier schonmal beschrieben: QA Plugindata

Und wenn du schon am Ändern bist, kannst isInit und checkInit in hasInit umbennen ;-)

Hol dir wirklich mal Netbeans, mit dem Autocomplete ist das echt super. Vor allem wenn man fremde APIs bzw. Plugins ansteuert, dann weiß man sofort, wofür die Funktionen sind, ohne den Quellcode davon durchzugehen.

Oh, Danke! :)

@areaType:
Habs ergänzt. ^^
Und isInit etc. zu hasInit umbenannt. :D

@Netbeans:
Hab ich sogar, aber für Java-Sachen.
Für PHP & die ganze Webprogrammierung find ich Webocton Scripty irgendwie komfortabler... :S
Aber mal schauen, vllt. nutze ich ja jetzt Netbeans wegen den Kommentaren. ;)

Joa, gibt ne Extra Edition für PHP, ist ganz schick. Hab ich früher auch nicht mit gearbeitet, erst seit dem ich PHP beruflich mache. Wenn du in größeren Teams arbeitest, ist das mit dem Autocomplete ganz gut, weil du nicht immer suchen musst.

Schaus dann gleich nochmal an und Veröffentliche es dann wahrscheinlich Montag ;-)

Fatal error: Access to undeclared static property: Plugin_PluginData_Data::$data in \system\plugins\plugindata\classes\data.php on line 91

Mein Code:
Plugin_PluginData_Data::setData("dasisteintest", array("test"), "default", "skin");
print_r(Plugin_PluginData_Data::getData("dasisteintest", "skin","default"));

Musst die Eigenschaft $dir noch als statisch definieren, dann dürfte es gehen.

Und noch ne Kleinigkeit: Wenn dein Plugin "Plugin data" heißt, dann nenn es in der info.php auch so, musste erstmal in der Pluginliste suchen. Vor allem, wenn du das Plugin in deutsch und englisch anbietest, ist "Plugin-Datenmanager" kein guter Name ;-)

@$dir:
Du meintest $data.^^
Habs statisch gemacht. ;)
Und auch den Tipp mit dem Namen hab ich noch befolgt! ;)

Jetzt hab ich nur noch eine Mini-Sache, dann kann ich es veröffentlichen. Funktioniert auf jeden Fall so schon.

Du legst deine Tabelle aktuell mit latin1 an. Wenn du eine internationale Seite machst, wirst du hier Probleme bekommen. Hatte ich leider ursprünglich bei einigen ContentLion-Tabellen auch so gemacht. Darf ich das auf utf8 ändern? (oder willst es selber machen?)

Darfst du gerne, war nen Versehen von mir. ;)
(Kannst du's gleich ändern? Ich weiß die Schreibweiße gerade nicht aus dem Kopf :P )