5 essential tools for the PHP Developer on Windows
1. 5 essential tools for the
Windows PHP developer
Stefan Koopmanschap
29-05-2009
29-05-2009 5 essential tools for the Windows PHP developer
2. This presentation
• PHP stack
• IDE
• Framework
• Content Management System
• Tools
29-05-2009 5 essential tools for the Windows PHP developer 2
3. Who is Stefan?
• Ibuildings
• symfony
• PHP best practices
• phpBenelux
29-05-2009 5 essential tools for the Windows PHP developer 3
4. PHP stack
• Single installer for full stack
– Webserver
– PHP
– Database server
29-05-2009 5 essential tools for the Windows PHP developer 4
5. PHP stacks
• Microsoft Web Platform Installer
• Zend Server
• Other packages
29-05-2009 5 essential tools for the Windows PHP developer 5
6. Microsoft Web Platform Installer
• 1.0
– .NET
– IIS
– SQL Server
29-05-2009 5 essential tools for the Windows PHP developer 6
7. Microsoft Web Platform Installer
• 2.0 beta
– 1.0 +
– PHP
– popular ASP.NET and PHP apps
29-05-2009 5 essential tools for the Windows PHP developer 7
8. 29-05-2009 5 essential tools for the Windows PHP developer 8
9. Microsoft Web Platform Installer
• Stack++
– Drupal
– Gallery
– Silverstripe
– Wordpress
29-05-2009 5 essential tools for the Windows PHP developer 9
10. 29-05-2009 5 essential tools for the Windows PHP developer 10
11. Microsoft Web Platform Installer
• IIS integration
• Easy installation of popular software
29-05-2009 5 essential tools for the Windows PHP developer 11
12. Microsoft Web Platform Installer
• Little documentation
29-05-2009 5 essential tools for the Windows PHP developer 12
13. Zend Server
• PHP
• Apache or IIS
• Performance tools
• Server Management
29-05-2009 5 essential tools for the Windows PHP developer 13
14. 29-05-2009 5 essential tools for the Windows PHP developer 14
15. Zend Server
• Apache and IIS
• Commercial support
• Performance and monitoring tools
• Community and Enterprise edition
29-05-2009 5 essential tools for the Windows PHP developer 15
16. Zend Server
• Dependency on vendor
29-05-2009 5 essential tools for the Windows PHP developer 16
17. Other packages
• XAMPP
• WAMP Server
29-05-2009 5 essential tools for the Windows PHP developer 17
18. XAMPP
• Apache, PHP, MySQL
• phpMyAdmin
• Management interface
• FTP server
29-05-2009 5 essential tools for the Windows PHP developer 18
19. WAMP Server
• Apache, PHP, MySQL
• phpMyAdmin
• Simple configuration
29-05-2009 5 essential tools for the Windows PHP developer 19
20. References
• http://www.microsoft.com/Web/
downloads/platform.aspx
• http://www.zend.com/server
• http://www.apachefriends.org/en/
xampp.html
• http://www.wampserver.com/en/
29-05-2009 5 essential tools for the Windows PHP developer 20
21. IDE
• Integrated Development Environment
• Editor
• Debugging
• Additional development support
29-05-2009 5 essential tools for the Windows PHP developer 21
22. IDEs
• VS.php
• Zend Studio
• Other IDEs
29-05-2009 5 essential tools for the Windows PHP developer 22
23. VS.php
• Visual Studio add-on + stand-alone
• Adds PHP support
• Includes Zend Framework support
29-05-2009 5 essential tools for the Windows PHP developer 23
24. 29-05-2009 5 essential tools for the Windows PHP developer 24
25. VS.php
• Familiar environment for VS users
• PHP code highlighting
29-05-2009 5 essential tools for the Windows PHP developer 25
27. Zend Studio
• Eclipse-based IDE
• Integration with other Zend tools
29-05-2009 5 essential tools for the Windows PHP developer 27
28. 29-05-2009 5 essential tools for the Windows PHP developer 28
29. Zend Studio
• Excellent PHP support
• Install Eclipse plugins
• Integrates with Zend products
• Commercial support and training
29-05-2009 5 essential tools for the Windows PHP developer 29
31. Other IDEs
• Activestate Komodo
– Commercial IDE with commercial support
– Variety of VCS supported
– Code completion / phpDoc
29-05-2009 5 essential tools for the Windows PHP developer 31
32. 29-05-2009 5 essential tools for the Windows PHP developer 32
33. Other IDEs
• Netbeans
– Free (as in beer)
– Support for PHP and several frameworks
– Java-based (uses lots of memory)
29-05-2009 5 essential tools for the Windows PHP developer 33
34. 29-05-2009 5 essential tools for the Windows PHP developer 34
35. References
• http://www.jcxsoftware.com/vs.php
• http://www.zend.com/studio
• http://www.activestate.com/komodo/
• http://www.netbeans.org/
29-05-2009 5 essential tools for the Windows PHP developer 35
36. Framework
• Project environment
• Libraries
• DRY
• Common project structure
29-05-2009 5 essential tools for the Windows PHP developer 36
37. Types of frameworks
• Full-stack frameworks
• Component libraries
• Special Purpose frameworks
29-05-2009 5 essential tools for the Windows PHP developer 37
38. Full-stack framework
• Project environment
• Offer most common functionality
• More strict structure
29-05-2009 5 essential tools for the Windows PHP developer 38
39. Symfony
• Automation for common tasks
• Flexible plugin system
• Excellent documentation
• ORM for databases
• Performance
29-05-2009 5 essential tools for the Windows PHP developer 39
40. Component Library
• Set of libraries
• Easy to integrate
• Pick what you need
29-05-2009 5 essential tools for the Windows PHP developer 40
41. Zend Framework
• Extensive functionality
• Includes MVC structure
• Easily call external services
• Task automation
29-05-2009 5 essential tools for the Windows PHP developer 41
42. ezComponents
• Smaller, more mature
• Specialized components
29-05-2009 5 essential tools for the Windows PHP developer 42
43. Special purpose framework
• Specialized
• For integration or stand-alone
29-05-2009 5 essential tools for the Windows PHP developer 43
44. Doctrine
• ORM
– Database access
– Code (Model) generation
– Schema management
29-05-2009 5 essential tools for the Windows PHP developer 44
45. ATK
• Business applications
• Content management interfaces
• Data management
29-05-2009 5 essential tools for the Windows PHP developer 45
46. Content Management System
• Manage a website
• Workflow integration
• Authentication / authorization
29-05-2009 5 essential tools for the Windows PHP developer 46
47. Wordpress
• Most popular weblog system
• User levels
• Massive amount of plugins
• Install using Web Platform Installer
• Code is messy
29-05-2009 5 essential tools for the Windows PHP developer 47
48. Drupal
• More extensive CMS
• More complex websites
• Massive amount of modules
• Very active community
• Install with Web Platform Installer
29-05-2009 5 essential tools for the Windows PHP developer 48
49. Silverstripe
• Relatively new project
• Built for extending
• Worldwide partners for support
• Aimed at professional market
29-05-2009 5 essential tools for the Windows PHP developer 49
51. Tools
• Database management
• Deployment
• Version control
• Performance
29-05-2009 5 essential tools for the Windows PHP developer 51
52. Database management
• Server administration
• Individual database management
• Query execution
29-05-2009 5 essential tools for the Windows PHP developer 52
53. Database management
• SQL Server Management Studio
• SQLYog
• phpMyAdmin
29-05-2009 5 essential tools for the Windows PHP developer 53
54. Deployment
• Transfer files to server
• Keep track of dependencies
29-05-2009 5 essential tools for the Windows PHP developer 54
55. Deployment
• (S)FTP
• Pear installer
• Microsoft Web Deployment Tool
29-05-2009 5 essential tools for the Windows PHP developer 55
56. Version control
• Keep track of changes
• Work on the same file without overwriting
• Branch and Merge
29-05-2009 5 essential tools for the Windows PHP developer 56
57. Version Control
• CVS
• Subversion
• Perforce
• Git
• SourceSafe
29-05-2009 5 essential tools for the Windows PHP developer 57
58. Performance
• Speed up application
• Data/output caching
• Opcode caching
29-05-2009 5 essential tools for the Windows PHP developer 58
59. Performance
• Data/output caching
– DB query caching
– memcached
– file cache
• Opcode caching
– Zend Optimizer
– APC
29-05-2009 5 essential tools for the Windows PHP developer 59
60. Getting started
• PHP|Architect May 2009 issue
• http://windows.php.net/
• http://iis.net/php
29-05-2009 5 essential tools for the Windows PHP developer 60
61. The secret 6th tool
The Community
29-05-2009 5 essential tools for the Windows PHP developer 61
62. The community
• weblogs and aggregators
• IRC
• Mailinglists
• PHP usergroups
• Conferences
29-05-2009 5 essential tools for the Windows PHP developer 62
63. The community
• Pierre Joye
– http://blog.thepimp.net/
• Elizabeth Marie Smith
– http://elizabethmariesmith.com/
• Port25
– http://port25.technet.com/archive/tags/PHP/
default.aspx
29-05-2009 5 essential tools for the Windows PHP developer 63