Introduction to PHP (Casino Affiliate Convention 2008)


Published on

Short introductory session on PHP, PHP projects and tools. Presentation held at the Casino Affiliate Convention 2008 in Amsterdam

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction to PHP (Casino Affiliate Convention 2008)

  1. 1. An introduction to PHP Ivo Jansch <> Casino Affiliate Convention 2008 - Amsterdam
  2. 2. About me <ul><li>CTO at Ibuildings </li></ul><ul><ul><li>Development using PHP (websites, applications) </li></ul></ul><ul><ul><li>Big projects (high traffic, multi-tier, clusters, high availability, large teams) </li></ul></ul><ul><ul><li>Consultancy (training, audits) </li></ul></ul><ul><ul><li>Partner of Zend Technologies </li></ul></ul><ul><ul><li>European focus (from offices in NL and UK) </li></ul></ul><ul><li>Geek! </li></ul><ul><ul><li>Author of several Open Source projects </li></ul></ul><ul><ul><li>Interested in PHP, Web 2.0, Science </li></ul></ul>Tuesday, February 26, 2008
  3. 3. What is PHP? <ul><li>PHP: Hypertext Preprocessor </li></ul><ul><li>Open Source web scripting language </li></ul><ul><li>Created in 1994 </li></ul><ul><li>Backed by Zend </li></ul><ul><li>Syntax inherited from C, Java, Perl </li></ul><ul><li>Powerful, flexible, easy to learn </li></ul>Tuesday, February 26, 2008
  4. 4. PHP History # PHP Internet Domains 20M 15M 10M 5M Rasmus Lerdorf Introduces PHP/FI Zeev Suraski, Andi Gutmans lead development of PHP 3 PHP 4 Released <ul><li>1M Internet domains </li></ul><ul><li>Zend Engine </li></ul><ul><li>Zend Founded </li></ul>Yahoo! Standardizes on PHP <ul><li>PHP 5.0 </li></ul><ul><li>XML, SOAP, OOP </li></ul><ul><li>Zend Studio </li></ul>IBM, Oracle Endorse PHP 1995 1997 1999 2000 2002 2004 2005 2006 > 20M domains
  5. 5. Who is using PHP? Tuesday, February 26, 2008
  6. 6. Who’s supporting it? Tuesday, February 26, 2008
  7. 7. Why use PHP? <ul><li>Used by more than 25 million domains </li></ul><ul><li>Open Source </li></ul><ul><li>Documentation </li></ul><ul><li>Platform independent (Linux, Windows, Unix, …) </li></ul><ul><li>Backed by Zend and others </li></ul><ul><li>Easy to learn </li></ul><ul><li>Versatile </li></ul><ul><li>Short time-to-market </li></ul>Tuesday, February 26, 2008
  8. 8. Why use PHP <ul><li>Example of easy syntax: </li></ul>Tuesday, February 26, 2008
  9. 9. Available CMS systems <ul><li>Joomla </li></ul><ul><ul><li> </li></ul></ul><ul><li>Drupal </li></ul><ul><ul><li> </li></ul></ul><ul><li>ezPublish </li></ul><ul><ul><li> </li></ul></ul><ul><li>Typo3 </li></ul><ul><ul><li> </li></ul></ul>Tuesday, February 26, 2008
  10. 10. Other useful PHP software <ul><li>Blog - Wordpress </li></ul><ul><ul><li> </li></ul></ul><ul><li>Forum - vBulletin </li></ul><ul><ul><li> </li></ul></ul><ul><li>Wiki – Mediawiki </li></ul><ul><ul><li> </li></ul></ul><ul><li>CRM – SugarCRM </li></ul><ul><ul><li> </li></ul></ul><ul><li>Template engine – Smarty </li></ul><ul><ul><li> </li></ul></ul>Tuesday, February 26, 2008
  11. 11. PHP Frameworks <ul><li>Why use a framework? </li></ul><ul><ul><li>Don’t reinvent the wheel </li></ul></ul><ul><ul><li>Good programmers are lazy </li></ul></ul><ul><ul><li>Even quicker time to market </li></ul></ul><ul><ul><li>Provides structure </li></ul></ul><ul><ul><li>Proven concepts </li></ul></ul>Tuesday, February 26, 2008
  12. 12. PHP Frameworks <ul><li>Zend Framework </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>Component framework </li></ul></ul><ul><ul><li>“ Use at will architecture” </li></ul></ul><ul><li>Symfony </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>Full Stack framework </li></ul></ul><ul><ul><li>Doesn’t reinvent the wheel </li></ul></ul><ul><li>ATK </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>Backend framework </li></ul></ul><ul><ul><li>Code minimization </li></ul></ul>Tuesday, February 26, 2008
  13. 13. Useful tools <ul><li>Eclipse PDT </li></ul><ul><ul><li> </li></ul></ul>Tuesday, February 26, 2008
  14. 14. Useful tools <ul><li>Zend Studio </li></ul><ul><ul><li> </li></ul></ul>Tuesday, February 26, 2008
  15. 15. Useful tools <ul><li>Zend Platform </li></ul><ul><ul><li> </li></ul></ul>Tuesday, February 26, 2008
  16. 16. PHP powers Web 2.0 <ul><li>AJAX </li></ul><ul><li>XML </li></ul><ul><li>Web Services </li></ul><ul><ul><li>SOAP </li></ul></ul><ul><ul><li>REST </li></ul></ul>Tuesday, February 26, 2008
  17. 17. Common misconceptions <ul><li>“ PHP is for hobbyists” </li></ul><ul><ul><li>Low learning curve </li></ul></ul><ul><ul><li>Proper software engineering => proper quality </li></ul></ul><ul><li>“ PHP is insecure” </li></ul><ul><ul><li>PHP is a language; it’s the programmer that implements security </li></ul></ul><ul><li>“ PHP is not a real language” </li></ul><ul><ul><li>It’s a scripting language; but a powerful one </li></ul></ul>Tuesday, February 26, 2008
  18. 18. Important guidelines <ul><li>Don’t mix HTML with code </li></ul><ul><ul><li>Template Engines </li></ul></ul><ul><ul><li>MVC (Model, View, Controller) </li></ul></ul><ul><li>Learn Object Oriented programming </li></ul><ul><ul><li>Cleaner code </li></ul></ul><ul><ul><li>Improved code reuse </li></ul></ul><ul><ul><li>More robust applications </li></ul></ul><ul><li>Keep security in mind </li></ul><ul><ul><li>Don’t ever trust user input </li></ul></ul><ul><ul><li>Sanitize output </li></ul></ul>Tuesday, February 26, 2008
  19. 19. Resources <ul><li>The official PHP website </li></ul><ul><ul><li> </li></ul></ul><ul><li>Learn from the PHP community </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>Zend </li></ul><ul><ul><li> </li></ul></ul><ul><li>Ibuildings </li></ul><ul><ul><li> </li></ul></ul><ul><li>My blog </li></ul><ul><ul><li> </li></ul></ul>Tuesday, February 26, 2008
  20. 20. Questions? [email_address] Two slides were adapted (with permission) from Bruno Pedro’s “PHP and Webservices” presentation. (