Slide 1

Slide 1 text

LeoNguyen.com

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

References

Slide 4

Slide 4 text

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)

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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)

Slide 7

Slide 7 text

Library

Slide 8

Slide 8 text

Eden - eden.openovate.com

Slide 9

Slide 9 text

PHP Login Script - www.php-login.net

Slide 10

Slide 10 text

Cartalyst Sentry - www.cartalyst.com

Slide 11

Slide 11 text

Medoo - medoo.in

Slide 12

Slide 12 text

Ratchet - socketo.me

Slide 13

Slide 13 text

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)

Slide 14

Slide 14 text

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)

Slide 15

Slide 15 text

Framework

Slide 16

Slide 16 text

Phalcon - phalconphp.com

Slide 17

Slide 17 text

Slim Framework - www.slimframework.com

Slide 18

Slide 18 text

Simple MVC Framework - simplemvcframework.com

Slide 19

Slide 19 text

Guzzle - guzzlephp.org

Slide 20

Slide 20 text

Codeception - codeception.com

Slide 21

Slide 21 text

Optimization

Slide 22

Slide 22 text

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)

Slide 23

Slide 23 text

Profiling

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

whoops - filp.github.io/whoops

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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)

Slide 28

Slide 28 text

Lab 01 Using microtime()

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

Lab 02 Using APD

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Task 3: Check phpinfo()

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

Lab 03 Using XDebug

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

Task 2: Check phpinfo()

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

Performance

Slide 49

Slide 49 text

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)

Slide 50

Slide 50 text

phpFastCache - phpFastCache (www.phpfastcache.com)

Slide 51

Slide 51 text

Security

Slide 52

Slide 52 text

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