Your SlideShare is downloading. ×
FireBug And FirePHP
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

FireBug And FirePHP


Published on

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

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

Published in: Technology

  • Be the first to comment

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Firebug Extension for AJAX Development Zend_Log
  • 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. • Debugger • Real-time HTML/DOM editing • Real-time CSS editing • Request/Response/Network Analysis • Interactive Javascript • Great Plug-ins, like FirePHP and YSlow
  • 4. • Getting Started • • Inactive • Active
  • 5. Interactive Console
  • 6. • Network Analysis
  • 7. Drill-down
  • 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. Interactive JS Debugger Breakpoints Watch List Variable Inspector Stack Inspector
  • 10. FirePHP Firebug Extension for AJAX Development • Getting Started •
  • 11. FirePHP Firebug Extension for AJAX Development • Two parts: • Browser plug-in • PHP API
  • 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. Standalone Library
  • 14. Standalone Library
  • 15. That’s the beginning Member variable filters Log your classes, but hide sensitive data automatically
  • 16. Exception Handling
  • 17. Exception Stack Trace
  • 18. Error Handler
  • 19. Assertion Handler Assert fail still shows warning...
  • 20. Message Groups
  • 21. Log Tables of Data
  • 22. Variable Dumping (var_dump ++) Where is it??? In the Server part of the Net request:
  • 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. Zend Framework
  • 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. Zend Framework • Create your writer • Add the writer to the Zend_Log object • Do this in your bootstrap before dispatch
  • 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. 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. 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. 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. 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. 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. 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. Questions? • Email: • • •