Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHP Lab

PHP Lab

LeoNguyen.com

July 27, 2013
Tweet

More Decks by LeoNguyen.com

Other Decks in Programming

Transcript

  1. LeoNguyen.com

    View full-size slide

  2. Outline
    - References (php.leonguyen.com/references.html)
    - Repositories (php.leonguyen.com/repositories.html)
    - Library
    - Framework
    - Optimization
    - Profiling
    - Performance

    View full-size slide

  3. References
    - PHP Manual (www.php.net/manual/en/)
    - W3Schools (www.w3schools.com/php/)
    - W3schools (www.w3schools.in)
    - W3resource.com (www.w3resource.com)
    - WebCheatSheet (webcheatsheet.com/php/)
    - PHP Best Practices (phpbestpractices.org)
    - PHP Master (www.sitepoint.com/php)
    - Advanced PHP Tutorial (advancedphptutorial.blogspot.com)
    - Smart Tutorial (www.smarttutorials.net)
    - TekBrand (tekbrand.com/category/php)
    - Idio Techie (idiotechie.com/category/php/)
    - David Carr (www.daveismyname.com)
    - PHP: The Right Way (www.phptherightway.com)

    View full-size slide

  4. References (cont)
    - PHPPot (phppot.com)
    - PHP CMS Framework (phpcmsframework.blogspot.in)
    - PHP Classes (www.phpclasses.org)
    - Code Tools (codetools.net)
    - PHP Result (phpresult.com)

    View full-size slide

  5. References - Youtube
    - JREAM (bit.ly/17dGSm3)
    - Aman Virk (bit.ly/141XDMT)
    - Pineheadtv (bit.ly/17aRZzc)
    - PHP - Tutorials (bit.ly/15WKgSf)
    - PHP Image Processing Tutorial (bit.ly/15WHaxx)
    - Dotinstall (bit.ly/19meYok)
    - Codecademy PHP Track (bit.ly/1ihrmrQ)

    View full-size slide

  6. Eden
    - eden.openovate.com

    View full-size slide

  7. PHP Login Script
    - www.php-login.net

    View full-size slide

  8. Cartalyst Sentry
    - www.cartalyst.com

    View full-size slide

  9. Medoo
    - medoo.in

    View full-size slide

  10. Ratchet
    - socketo.me

    View full-size slide

  11. Library
    - Awesome PHP Libraries (bit.ly/17tIPef)
    - Fvalidate (bit.ly/14wNeMS)
    - password_compat (bit.ly/1lajxbv)
    - Super Simple Registration (bit.ly/1gUUdRS)
    - Simple Authentication and Security Layer (bit.ly/14wNOdF)
    - Access user Class (bit.ly/1dgK3O9)
    - .passport Client (bit.ly/16C2GmX)
    - .passport Server (bit.ly/1dgL5tk)
    - Idiorm & Paris (j4mie.github.io/idiormandparis)
    - PDO_MySQLi (bit.ly/17x4dLD)
    - RedBeanPHP (www.redbeanphp.com)
    - Propel ORM (propelorm.org)
    - Rapid Form Builder (bit.ly/19H8wIj)

    View full-size slide

  12. Library (cont)
    - Opauth (opauth.org)
    - URL Router Class (bit.ly/17XrM24)
    - Pear (pear.php.net)
    - Captcha: KCaptcha (www.captcha.ru/en)
    - PDF: mPDF (www.mpdf1.com/mpdf)
    - File Manager: elFinder (elfinder.org)
    - Rss: SimplePie (www.simplepie.org)
    - Chart: pChart (www.pchart.net)
    + jpChart (jpgraph.net)
    - phpThumb (phpthumb.sourceforge.net)
    - Code Generator: jqmphp (www.jqmphp.com)
    - Detector (detector.dmolsen.com)
    - DB Management: Adminer (www.adminer.org)

    View full-size slide

  13. Phalcon
    - phalconphp.com

    View full-size slide

  14. Slim Framework
    - www.slimframework.com

    View full-size slide

  15. Simple MVC Framework
    - simplemvcframework.com

    View full-size slide

  16. Guzzle
    - guzzlephp.org

    View full-size slide

  17. Codeception
    - codeception.com

    View full-size slide

  18. Optimization

    View full-size slide

  19. References
    - Google Developers (bit.ly/1bYoVvf)
    - Nettuts+ (bit.ly/18F1zHi)
    - Saiful Islam (bit.ly/15T2WQd)
    - Clay (bit.ly/1bYmSYd)
    - MD Pro (bit.ly/14UfGJG)
    - Chazzuka (bit.ly/16m3IoQ)

    View full-size slide

  20. References
    - PHP Error (phperror.net)
    - PHP DebugBar (phpdebugbar.com)
    - forp PHP profiler (bit.ly/18be66O)

    View full-size slide

  21. whoops
    - filp.github.io/whoops

    View full-size slide

  22. Outline
    - Lab 01: Using microtime()
    - Lab 02: Using APD (Advanced PHP debugger)
    - Lab 03: Using XDebug

    View full-size slide

  23. References
    - Simplest way (bit.ly/11lodT2)
    - APD-Advanced PHP Debugger (bit.ly/15mwKFZ, bit.ly/1aOwnGe)
    - WinCacheGrind (bit.ly/1bYnYmR)
    - WebGrind (bit.ly/11lo9Tl)
    - Quang (VN) (bit.ly/176Uc8g)

    View full-size slide

  24. Lab 01
    Using microtime()

    View full-size slide

  25. Task 1: Enter code
    - Enter code: https://gist.github.com/leonguyen/6097052

    View full-size slide

  26. Task 2: Run
    - Goto http://localhost/phplab/microtime.php.

    View full-size slide

  27. Lab 02
    Using APD

    View full-size slide

  28. Task 1: Donwload php_apd.dll
    - Goto: bit.ly/1c11scV and download php_apd.dll to 'server>\php\ext' folder.

    View full-size slide

  29. Task 2: Config php.ini
    - Open 'php.ini' file and enter code: https://gist.github.
    com/leonguyen/6097199.

    View full-size slide

  30. Task 3: Check phpinfo()

    View full-size slide

  31. Task 4: Program
    - Enter code: https://gist.github.com/leonguyen/6097246.

    View full-size slide

  32. Task 5: Run
    - Goto http://localhost/phplab/apd.php.

    View full-size slide

  33. Task 6: Profiling
    - Open folder 'tmp' folder to view profiling files.

    View full-size slide

  34. Lab 03
    Using XDebug

    View full-size slide

  35. Task 1: Config php.ini
    - Open 'php.ini' file and enter code.

    View full-size slide

  36. Task 2: Check phpinfo()

    View full-size slide

  37. Task 3: Program
    - Enter code: https://gist.github.com/leonguyen/6097335.

    View full-size slide

  38. Task 4: Run
    - Goto http://localhost/phplab/xdebug.php?XDEBUG_PROFILE=true.

    View full-size slide

  39. Task 5: Profiling files
    - Open folder 'tmp' folder to view profiling files.

    View full-size slide

  40. Task 6: Profiling with WinCacheGrind
    - Goto and download http://sourceforge.net/projects/wincachegrind/.

    View full-size slide

  41. Task 7: Using WinCacheGrind
    - Open folder 'tmp' folder to view profiling files.

    View full-size slide

  42. Task 8: Profiling with WebGrind
    - Goto and download https://github.com/jokkedk/webgrind.

    View full-size slide

  43. Task 9: Using WebGrind
    - Goto http://localhost/webgrind/.

    View full-size slide

  44. References
    - PHP Performance Crash Course (bit.ly/1cU1RQ4, bit.ly/1aST9jr)
    - Performance Tips (bit.ly/12Sx7Fh)
    - Cache Performance Comparison (bit.ly/1bu5gUW)
    - Cache it! (bit.ly/1bu5zz2)
    - W3 Total Cache (bit.ly/1bu5Z8l)
    - Cache with CI (bit.ly/16m79Mk)
    - Memcached with PHP (bit.ly/GAiNwQ)
    - Memcache with CI (bit.ly/13NOpqa, bit.ly/16aYDls, bit.ly/176TMyA)
    - Background jobs with php and resque (bit.ly/1aE4GwW)
    - Easy Wins For More Performant PHP (bit.ly/1aEAJwN)
    - Quang (VN) (bit.ly/12rQev1)

    View full-size slide

  45. phpFastCache
    - phpFastCache (www.phpfastcache.com)

    View full-size slide

  46. References
    - SQL Injection (bit.ly/1gRqxVZ)

    View full-size slide