FireBug And FirePHP

6,004 views

Published on

Why you should use Firebug and FirePHP if you're a PHP programmer.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,004
On SlideShare
0
From Embeds
0
Number of Embeds
478
Actions
Shares
0
Downloads
64
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

FireBug And FirePHP

  1. 1. Firebug Extension for AJAX Development Zend_Log
  2. 2. • If you’re not using Firebug when coding for the web, you’re missing out... • And making it harder on yourself... • For no good reason
  3. 3. • Debugger • Real-time HTML/DOM editing • Real-time CSS editing • Request/Response/Network Analysis • Interactive Javascript • Great Plug-ins, like FirePHP and YSlow
  4. 4. • Getting Started • getfirebug.com • Inactive • Active
  5. 5. Interactive Console
  6. 6. • Network Analysis
  7. 7. Drill-down
  8. 8. • Real-time HTML editing • Was not working for me when I tried it, but I have done it before. It should work. • Real-time CSS editing • Also not working when I put this together • But, normally they work and are AWESOME!
  9. 9. Interactive JS Debugger Breakpoints Watch List Variable Inspector Stack Inspector
  10. 10. FirePHP Firebug Extension for AJAX Development • Getting Started • www.firephp.org
  11. 11. FirePHP Firebug Extension for AJAX Development • Two parts: • Browser plug-in • PHP API
  12. 12. FirePHP Firebug Extension for AJAX Development • Standalone Library • Zend_Log_Writer_Firebug • Zend_Db_Profiler_Firebug • Other Integrations: Agavi, BIGACE, CakePHP, CodeIgniter, Drupal, ExpressionEngine, eZ, Joomla, Kohana, Nette Framework, PEAR, PRADO, Probus, Project Zero, REDAXO, Seagull
  13. 13. Standalone Library
  14. 14. Standalone Library
  15. 15. That’s the beginning Member variable filters Log your classes, but hide sensitive data automatically
  16. 16. Exception Handling
  17. 17. Exception Stack Trace
  18. 18. Error Handler
  19. 19. Assertion Handler Assert fail still shows warning...
  20. 20. Message Groups
  21. 21. Log Tables of Data
  22. 22. Variable Dumping (var_dump ++) Where is it??? In the Server part of the Net request:
  23. 23. Zend Framework • Doesn’t require you to download the standard library • Protocol is built into Zend Framework • Use it with Zend_Log • Use it with Zend_Db_Profiler_Firebug
  24. 24. Zend Framework
  25. 25. Zend Framework • Zend_Log works using the Observer pattern • Log writers are added to Zend_Log • Each writer can log different levels, to different places, using different methods • i.e., file, database, Twitter, or FirePHP
  26. 26. Zend Framework • Create your writer • Add the writer to the Zend_Log object • Do this in your bootstrap before dispatch
  27. 27. Zend Framework • Zend_Log lets you set your own logging levels and map those to FirePHP log types • $logger->addPriority('ULTRA', 8); • $writer->setPriorityStyle(8, 'TRACE'); • $logger->ultra('Ultra Message - With trace');
  28. 28. Zend_Log • Logging exceptions happens automatically • Just pass the Exception object and FirePHP will show the exception and stack trace • Zend_Log, like log4j, lets you set up multiple writers, with global or local filters, formats, etc • One log call can result in many logs in many places if that’s what you want
  29. 29. How it all works • FirePHP sends data using HTTP headers • It detects FirePHP running. If it’s not there, it sends nothing • Sniff the wire in IE. Nothing there.
  30. 30. With great power... • FirePHP logging is very powerful and very useful. • If someone is looking at your site with FirePHP installed, they will see your messages... unless...
  31. 31. A couple of options • Turn off logging in production • $writer->setEnabled(false); • Turn off logging in production, but enable if users who should be able to see this stuff are logged in • Allows developers to “debug” in production • “Debugging” in production requires smart logging
  32. 32. Smart Logging • Logs can help you track down exactly what happened • Or they can be confusing and useless • File logging is a must when you need to track down problems after they happened and reproducing the problem is difficult, expensive, or impossible
  33. 33. FirePHP Logging • FirePHP logs are temporal • More detail can be useful for FirePHP logs than would be practical with file logs • Zend_Log means you don’t need to make more than one log call • Use filters/priorities to determine if you want FirePHP, file logging, or both
  34. 34. Questions? • Email: slideshare@davidstockton.com • http://framework.zend.com/manual/en/ • http://getfirebug.com/ • http://firephp.org/

×