firebug and firephp

Post on 17-Jan-2015

5.453 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Firebug Extension forAJAX Development

Zend_Log

• 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

• Debugger

• Real-time HTML/DOM editing

• Real-time CSS editing

• Request/Response/Network Analysis

• Interactive Javascript

• Great Plug-ins, like FirePHP and YSlow

• Getting Started

• getfirebug.com

• Inactive

• Active

Interactive Console

• Network Analysis

Drill-down

• 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!

Interactive JS Debugger

Breakpoints

Watch List

Variable Inspector

Stack Inspector

• Getting Started

• www.firephp.org

FirePHPFirebug Extension forAJAX Development

• Two parts:

• Browser plug-in

• PHP API

FirePHPFirebug Extension forAJAX 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

FirePHPFirebug Extension forAJAX Development

Standalone Library

Standalone Library

That’s the beginning

Member variable filtersLog your classes, but hide sensitive data automatically

Exception Handling

Exception Stack Trace

Error Handler

Assertion Handler

Assert fail still shows warning...

Message Groups

Log Tables of Data

Variable Dumping (var_dump ++)

Where is it???In the Server part of the Net request:

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

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

Zend Framework

Zend Framework

• Create your writer

• Add the writer to the Zend_Log object

• Do this in your bootstrap before dispatch

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');

• 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

Zend_Log

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.

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

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

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

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

Questions?

• Email: slideshare@davidstockton.com

• http://framework.zend.com/manual/en/

• http://getfirebug.com/

• http://firephp.org/

top related