Your SlideShare is downloading. ×
0
Advanced (WordPress)
Development Techniques
  Tips & tricks to make your life easier
Beau Lebens
      @beaulebens

 beau@automattic.com

http://dentedreality.com.au
1. Development Stack
Go get a decent text editor
Coda
   TextPad
     Vim
    Emacs
TextWrangler
 Notepad++
  UltraEdit
DreamWeaver
    PSPad
    Eclipse
 SubEthaEdit
    ...
Coda
   TextPad
     Vim
    Emacs
TextWrangler
 Notepad++
  UltraEdit
DreamWeaver
    PSPad
    Eclipse
 SubEthaEdit
    ...
TextMate (Mac OS X)
http://macromates.com
(local)host(ing)
http://www.mamp.info/

Host your development stack locally
   Apache 2.0.63, PHP 5.2.10, MySQL 5.1.37
http://www.wampserver.com/en/

Windows version of MAMP
Apache 2.2.11, PHP 5.3.0, MySQL 5.1.36
DBA
CLI
phpMyAdmin
MySQL Query Browser
Control the intarwebs
Accept requests for any hostname
Fully-configure those hosts locally
Accept requests for any hostname
Fully-configure those hosts locally
Hosts File


Tells your machine where to resolve a hostname to.
/etc/hosts (Mac)
C:WINDOWSsystem32driversetchosts (Win)
Flush your DNS cache if you change anything:
   dscacheutil -flushcache (Mac, Terminal)
   ipconfig /flushdns (Win, DOS)
SVN, FTW
Command Line
  $ svn help
Tortoise SVN
http://tortoisesvn.tigris.org/
Versions (Mac)
http://versionsapp.com/
FileMerge
(comes with XCode)
$ svn co <URL> <directory>
You’ve Got WordPress
$ svn up
$ svn switch <URL>
You’re now running WordPress 2.8.5
2. Tools && Tricks
Move wp-config.php “one directory up”

       Put wp-content “somewhere else”
    define( ‘WP_CONTENT_DIR’, ‘/path/to/wp-con...
Find Stuff
$ grep
All function definitions within WordPress
$ grep | grep
Definition of a specific function
Definition of a specific function, with line numbers
TextMate’s “Find in Project”
Secure Development
SSH (SOCKS) Tunneling
SSH (SOCKS) Tunneling
FoxyProxy is awesome
http://foxyproxy.mozdev.org/
FTP, FTL
Mount remote filesystems via SSH
MacFUSE (for Mac, duh!)
http://code.google.com/p/macfuse/
Macfusion (again, for Mac)
http://www.macfusionapp.org/
ExpanDrive (hey! for Win)
http://www.expandrive.com/windows/
WebDAV?
Kick it, old-skool
WP_CONTENT_DIR
WP_CONTENT_URL

 WP_PLUGIN_DIR
 WP_PLUGIN_URL
PLUGINDIR (maybe)
$table_prefix
$table_prefix
Symlink in your plugin(s)
Same plugin code on multiple WP installs
Symlink in your plugin(s)
Same plugin code on multiple WP installs
Symlink in your plugin(s)
Same plugin code on multiple WP installs
3. Testing?
wfm
Writing tests doesn’t need to be hard
APIs
“Libraries”
  CRUD
PHPUnit
SimpleTest
   RYO
http://svn.automattic.com/wordpress-tests/
Frontend?
Firebug will change your life
Browser Testing
(a.k.a.The Tenth Circle of Hell)
Level the playing field
Abstract away (most)
browser differences


      jQuery
     CSS Reset
Develop in Firefox
(or something else standards-compliant)
Tweak Internet Explorer
CSS Hacks
All browsers
IE6 + IE7
IE6 only
height: 1%;
There are lots of different browsers...
1 4 1
FAIL
8 0
8 0
plus these!
MOAR?
VirtualBox
You are a craftsperson

  You need a workshop

  You need good tools

It’s worth the investment,
you’re going to spend a l...
Beau Lebens
      @beaulebens

 beau@automattic.com

http://dentedreality.com.au
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Advanced WordPress Development Environments
Upcoming SlideShare
Loading in...5
×

Advanced WordPress Development Environments

8,891

Published on

Published in: Technology, Design
3 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
8,891
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
59
Comments
3
Likes
7
Embeds 0
No embeds

No notes for slide
  • Transcript of "Advanced WordPress Development Environments"

    1. 1. Advanced (WordPress) Development Techniques Tips & tricks to make your life easier
    2. 2. Beau Lebens @beaulebens beau@automattic.com http://dentedreality.com.au
    3. 3. 1. Development Stack
    4. 4. Go get a decent text editor
    5. 5. Coda TextPad Vim Emacs TextWrangler Notepad++ UltraEdit DreamWeaver PSPad Eclipse SubEthaEdit BBEdit
    6. 6. Coda TextPad Vim Emacs TextWrangler Notepad++ UltraEdit DreamWeaver PSPad Eclipse SubEthaEdit BBEdit
    7. 7. TextMate (Mac OS X) http://macromates.com
    8. 8. (local)host(ing)
    9. 9. http://www.mamp.info/ Host your development stack locally Apache 2.0.63, PHP 5.2.10, MySQL 5.1.37
    10. 10. http://www.wampserver.com/en/ Windows version of MAMP Apache 2.2.11, PHP 5.3.0, MySQL 5.1.36
    11. 11. DBA
    12. 12. CLI
    13. 13. phpMyAdmin
    14. 14. MySQL Query Browser
    15. 15. Control the intarwebs
    16. 16. Accept requests for any hostname Fully-configure those hosts locally
    17. 17. Accept requests for any hostname Fully-configure those hosts locally
    18. 18. Hosts File Tells your machine where to resolve a hostname to.
    19. 19. /etc/hosts (Mac) C:WINDOWSsystem32driversetchosts (Win)
    20. 20. Flush your DNS cache if you change anything: dscacheutil -flushcache (Mac, Terminal) ipconfig /flushdns (Win, DOS)
    21. 21. SVN, FTW
    22. 22. Command Line $ svn help
    23. 23. Tortoise SVN http://tortoisesvn.tigris.org/
    24. 24. Versions (Mac) http://versionsapp.com/
    25. 25. FileMerge (comes with XCode)
    26. 26. $ svn co <URL> <directory>
    27. 27. You’ve Got WordPress
    28. 28. $ svn up
    29. 29. $ svn switch <URL>
    30. 30. You’re now running WordPress 2.8.5
    31. 31. 2. Tools && Tricks
    32. 32. Move wp-config.php “one directory up” Put wp-content “somewhere else” define( ‘WP_CONTENT_DIR’, ‘/path/to/wp-content’ ); define( ‘WP_CONTENT_URL’, ‘http://website.com/wp-content’ );
    33. 33. Find Stuff
    34. 34. $ grep
    35. 35. All function definitions within WordPress
    36. 36. $ grep | grep
    37. 37. Definition of a specific function
    38. 38. Definition of a specific function, with line numbers
    39. 39. TextMate’s “Find in Project”
    40. 40. Secure Development
    41. 41. SSH (SOCKS) Tunneling
    42. 42. SSH (SOCKS) Tunneling
    43. 43. FoxyProxy is awesome http://foxyproxy.mozdev.org/
    44. 44. FTP, FTL
    45. 45. Mount remote filesystems via SSH
    46. 46. MacFUSE (for Mac, duh!) http://code.google.com/p/macfuse/
    47. 47. Macfusion (again, for Mac) http://www.macfusionapp.org/
    48. 48. ExpanDrive (hey! for Win) http://www.expandrive.com/windows/
    49. 49. WebDAV?
    50. 50. Kick it, old-skool
    51. 51. WP_CONTENT_DIR WP_CONTENT_URL WP_PLUGIN_DIR WP_PLUGIN_URL PLUGINDIR (maybe)
    52. 52. $table_prefix
    53. 53. $table_prefix
    54. 54. Symlink in your plugin(s) Same plugin code on multiple WP installs
    55. 55. Symlink in your plugin(s) Same plugin code on multiple WP installs
    56. 56. Symlink in your plugin(s) Same plugin code on multiple WP installs
    57. 57. 3. Testing?
    58. 58. wfm
    59. 59. Writing tests doesn’t need to be hard
    60. 60. APIs “Libraries” CRUD
    61. 61. PHPUnit SimpleTest RYO
    62. 62. http://svn.automattic.com/wordpress-tests/
    63. 63. Frontend?
    64. 64. Firebug will change your life
    65. 65. Browser Testing (a.k.a.The Tenth Circle of Hell)
    66. 66. Level the playing field
    67. 67. Abstract away (most) browser differences jQuery CSS Reset
    68. 68. Develop in Firefox (or something else standards-compliant)
    69. 69. Tweak Internet Explorer
    70. 70. CSS Hacks
    71. 71. All browsers
    72. 72. IE6 + IE7
    73. 73. IE6 only
    74. 74. height: 1%;
    75. 75. There are lots of different browsers...
    76. 76. 1 4 1
    77. 77. FAIL
    78. 78. 8 0
    79. 79. 8 0 plus these!
    80. 80. MOAR?
    81. 81. VirtualBox
    82. 82. You are a craftsperson You need a workshop You need good tools It’s worth the investment, you’re going to spend a lot of time doing this stuff.
    83. 83. Beau Lebens @beaulebens beau@automattic.com http://dentedreality.com.au
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×