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 Slide

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

    View Slide

  3. References

    View Slide

  4. 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 Slide

  5. 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 Slide

  6. 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 Slide

  7. Library

    View Slide

  8. Eden
    - eden.openovate.com

    View Slide

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

    View Slide

  10. Cartalyst Sentry
    - www.cartalyst.com

    View Slide

  11. Medoo
    - medoo.in

    View Slide

  12. Ratchet
    - socketo.me

    View Slide

  13. 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 Slide

  14. 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 Slide

  15. Framework

    View Slide

  16. Phalcon
    - phalconphp.com

    View Slide

  17. Slim Framework
    - www.slimframework.com

    View Slide

  18. Simple MVC Framework
    - simplemvcframework.com

    View Slide

  19. Guzzle
    - guzzlephp.org

    View Slide

  20. Codeception
    - codeception.com

    View Slide

  21. Optimization

    View Slide

  22. 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 Slide

  23. Profiling

    View Slide

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

    View Slide

  25. whoops
    - filp.github.io/whoops

    View Slide

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

    View Slide

  27. 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 Slide

  28. Lab 01
    Using microtime()

    View Slide

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

    View Slide

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

    View Slide

  31. Lab 02
    Using APD

    View Slide

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

    View Slide

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

    View Slide

  34. Task 3: Check phpinfo()

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  38. Lab 03
    Using XDebug

    View Slide

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

    View Slide

  40. Task 2: Check phpinfo()

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  48. Performance

    View Slide

  49. 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 Slide

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

    View Slide

  51. Security

    View Slide

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

    View Slide