10 Tricks für Entwickler

6.546 Aufrufe

Veröffentlicht am

Mein Talk vom Joomla!Day Schweiz 2013.

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
6.546
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

10 Tricks für Entwickler

  1. 1. Entwicklung von Joomla! Erweiterungen David Jardin - 21.09.13 - Joomla!Day Schweiz 2013 Tipps, Tricks und ohne Track Samstag, 21. September 13
  2. 2. Ich. bin nichtViktorVogel. Samstag, 21. September 13
  3. 3. Ich. • Webentwickler • OpenSource Junkie • Joomla!holic • stellv. Vorsitzender J&Beyond e.V. Samstag, 21. September 13
  4. 4. Kenne und nutze die API. Lektion 1 Samstag, 21. September 13
  5. 5. Quiz: Die API kann? • a) Tweets suchen • b) Beliebige (Core-)Formulare manipulieren • c) Beliebige PHP Klassen überschreiben • d) Bilder verkleinern Samstag, 21. September 13
  6. 6. Alles. Samstag, 21. September 13
  7. 7. JTwitter • Serverseitige Abfrage via oAuth • Unterstützt Tweets, Direct Messages, Suchen, Trends, User, Freunde uvm. • Beste Freunde: JFacebook, JGithub, JOpenstreetmap, JLinkedin und JGoogle Samstag, 21. September 13
  8. 8. JForm XML HTML client- und serverseitigeValidierung wiederverwendbar verschiedenste Feldtypen dynamisch anpassbar Samstag, 21. September 13
  9. 9. Formular-Magic • onContentPrepareForm-Event • beliebige Modifizierung von (fast) allen Core-Formularen • beste Freunde: onContentPrepareData und onContentAfterSave Samstag, 21. September 13
  10. 10. Autoloader-Massaker • JLoader::register('JDatabase', '/custom/ database_driver.php', true); • beliebige Klassen überschreiben Samstag, 21. September 13
  11. 11. JImage $image = new JImage(); $image ->loadFile(JPATH_SITE . '/path/to/image.png') ->resize(600, 250) ->filter(' grayscale ') ->toFile(JPATH_SITE . '/tmp/image.png'); http://kike.zenjiapps.com/ Samstag, 21. September 13
  12. 12. JHttp • HTTP-Client • Unterstützt • cURL • fopen • sockets • Lösung aller allow_url_fopen Probleme Samstag, 21. September 13
  13. 13. JFile & JFolder • Automatischer FTP-Fallback für www-run oder safe_mode on Umgebungen • Goodie: JFilesystemPatcher - anwenden von .patch / .diff Dateien auf dem Server Samstag, 21. September 13
  14. 14. JInput • Ersatz für JRequest • Unterstützung für verschiedene Eingabeformate: • JSON • CLI • POST/GET/REQUEST Samstag, 21. September 13
  15. 15. MVC. Immer. Lektion 2 Controller Model View Samstag, 21. September 13
  16. 16. MVC • Best Practice weit über Joomla! hinaus • JLegacy und Co erleichtern die Arbeit • Macht Code übersichtlicher und besser strukturiert Samstag, 21. September 13
  17. 17. Integriere Core-Features. Lektion 3 Samstag, 21. September 13
  18. 18. Mehrsprachigkeit • JLanguage • UTF-8 kodierte .ini Dateien • Bezeichner nach Muster TYP_NAME_WASAUCHIMMER • COM_CONTACT_DETAILS • Content nicht vergessen Samstag, 21. September 13
  19. 19. Tagging • Inzwischen stabile API • wenige Zeilen Code • großer Nutzen Samstag, 21. September 13
  20. 20. ACL • Mäßig aufwendig • Must-have für „öffentliche“ Erweiterungen • XML-Definition und PHP-Checks Samstag, 21. September 13
  21. 21. Kategorien com_categories in der eigenen Komponente nutzen Samstag, 21. September 13
  22. 22. Triggere Events. Lektion 4 Samstag, 21. September 13
  23. 23. JPluginHelper::importPlugin( 'myplugingroup' ); $dispatcher = JEventDispatcher::getInstance(); $dispatcher->trigger( 'onSomethingHappend', array( &$value ) ); Events in 3 Zeilen... ...ergeben grenzenlose Möglichkeiten Samstag, 21. September 13
  24. 24. Error Reporting auf Maximum. Lektion 5 Samstag, 21. September 13
  25. 25. ini_set('display_errors', 'Off'); ist keine Lösung. Samstag, 21. September 13
  26. 26. Nutze eine IDE. Lektion 6 Samstag, 21. September 13
  27. 27. phpStorm • Integration von phpcs, phpunit, xdebug, phing, composer uvm. • Schnell • Cross-Plattform-Kompatibel • Kostenlose Lizenz für OpenSource-Entwickler Samstag, 21. September 13
  28. 28. Nutze Phing. Lektion 7 Samstag, 21. September 13
  29. 29. Nutze den PHP_CodeSniffer. Lektion 8 Samstag, 21. September 13
  30. 30. Joomla! Sniffs https://github.com/joomla/coding-standards Samstag, 21. September 13
  31. 31. Betreibe Update-Server. Lektion 9 Samstag, 21. September 13
  32. 32. In der Erweiterung <updateservers> <server type="extension" priority="1" name="name"> http://example.tld/update.xml </server> </updateservers> Samstag, 21. September 13
  33. 33. Serverseitig Akeeba Release System Samstag, 21. September 13
  34. 34. Lerne FOF. Lektion 11 Samstag, 21. September 13
  35. 35. Framework on Framework • RAD-Framework • Entwickelt von Akeeba • unabhängig vom Core • brandneu • Convention over Configuration, DRY Samstag, 21. September 13
  36. 36. Vorteil? Samstag, 21. September 13
  37. 37. 80% weniger Code! Samstag, 21. September 13
  38. 38. Fragen? Samstag, 21. September 13
  39. 39. www.djumla.de @SniperSister Samstag, 21. September 13

×