Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

10 Tricks für Entwickler

6.666 Aufrufe

Veröffentlicht am

Mein Talk vom Joomla!Day Schweiz 2013.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

×