De 10 geboden van WordPress Development

Post on 28-May-2015

1.840 views 2 download

description

Mijn slides van de presentatie tijdens WordPress Meetup Enschede 2013 bij TriMM

Transcript of De 10 geboden van WordPress Development

Welkom

Programma

• De 10 geboden van WordPress Development

– Floris P. Lof

• WordPress op nginx en FastCGI

– Wouter Oosterveld

• WordPress 3.5 ‘Elvin’ -> medialibrary

– Marko Heijnen

• Noaproat…

• Borrel

Floris P. Lof

Webdeveloper bij

TriMM Internet Reality

Technisch blogger bij WPRealm.com

Twitter: @__jester

De 10 geboden van WordPress development

Waarom 10 geboden

• Consequent werken met je teamleden

• Constant jezelf blijven verbeteren

• Automatisch meer leren van het systeem waar je mee werkt

• Veiligheid en snelheid

• Makkelijke overdraagbare code schrijven

1 WP_DEBUG staat op development altijd op true

en op production altijd op false.

<?php /* Server depending vars */ if( stristr( $_SERVER['SERVER_NAME'], “projectname.localhost" ) ) { define( ‘WP_DEBUG’, true ); } else { define( ‘WP_DEBUG’, false); } ?>

In je wp-config.php

Je systeem wordt sneller, Je kunt plugins van derden beoordelen, Je code blijft beter overeind bij WP-updates.

2

Volg WordPress’ coding standards en CSS standards

http://codex.wordpress.org/WordPress_Coding_Standards http://make.wordpress.org/core/handbook/coding-standards/css/

Links

Je code is beter leesbaar Je code is begrijpbaar Maakt soms code-commentaar overbodig

3 Documenteer je code

http://codex.wordpress.org/Commenting_Code

Link

• Leg altijd uit wat een functie doet • Heldere docblocks • Wie is de auteur • …et cetera

• Maar ook geen overbodige comments… • $i = 5 // i is now five…duh!

Complexe code kun je over een paar jaar nog steeds goed begrijpen, mits goed gedocumenteerd!

4

Leer de WordPress core kennen

Want:

Je vindt nieuwe hooks Je leert nieuwe functionaliteit (bv: interne API’s) Je komt er achter ‘wanneer’ welk onderdeel wordt gebruikt

Kijk eens onder de motorkap van WordPress, wandel door de core-bestanden en functies

5

Maak gebruik van interne API’s en functies

wp_mail(); wp_redirect(); wp_get_remote(); wp_strip_all_tags();

Voorbeelden:

Plugins kunnen er op inhaken, Ze zijn geoptimaliseert voor de WP omgeving

6

Geef je code ‘namespaces’

Fout: function get_event_data(); Goed: function fpl_ get_event_data();

Voorbeeld:

Voorkom conflicten met code van anderen met name plugins van derden

7

Never trust user input! Sanitize & escape!

Lees vooral Hoofdstuk 6 van Professional WordPress Plugin Development

Veiligheid voor alles, WP heeft heel veel ‘veiligheids’-functies Ingebouwd die je kunt gebruiken

Bijvoorbeeld: sanitize_email(); esc_url(); esc_attr();

8

Gebruik nonces

Number used only once

Wederom veiligheid voor alles, Houdt SPAM tegen Beveiliging voor alle formulieren OOK in je back-end!

<form action=... > <?php wp_nonce_field('my-nonce'); ?> ... </form>

9

Maak gebruik van i18n

i18n = internationalization 18

Maak de strings in je code vertaalbaar Voor jezelf en voor anderen

<a href=“#”>Submit</a>

<a href=“#”><?php _e( ‘Submit’, ‘your_text_domain’ ); ?></a>

10

Performance, performance, performance

• Net teveel, en geen overbodige plugins gebruiken • Schrijf slimme/zuinige PHP-code, gebruik WP-transients waar nodig • Indien nodig: maak gebruik van een caching plugin (b.v. W3 Total Cache) • Javascripts in de footer • Slimme CSS selectors • Geen grote DOM manipulaties • Optimaliseer je afbeeldingen • …et cetera

Bij alles wat je doet moet je de snelheid van je systeem in de gaten houden.

Vragen?

Bedankt voor jullie aandacht!

Dan nog even dit…

21 februari Fronteers meeting bij TriMM

Meer informatie volgt z.s.m.