Como incluir um stylesheet dependento do navegador do usuário

Use este código no layout.php (este exemplo é para detectar o IE)

// detectar ie
if (isset($_SERVER['HTTP_USER_AGENT'])) {
   $browser=get_browser(null, true);
   if ($browser['browser']=='IE')
      sfContext::getInstance()->getResponse()->addStylesheet("ie.css");
}

Você tem que instalar o browscap.ini

Caso você não possa instalá-lo, use esta função:

        function _get_browser()
	{
	  $browser = array ( //reversed array
	   "OPERA",
	   "MSIE",            // parent
	   "NETSCAPE",
	   "FIREFOX",
	   "SAFARI",
	   "KONQUEROR",
	   "MOZILLA"        // parent
	   );
	 
        $info['browser'] = "OTHER";

	foreach ($browser as $parent) 
	{
		if ( ($s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent)) !== FALSE )
		{           
			$f = $s + strlen($parent);
			$version = substr($_SERVER['HTTP_USER_AGENT'], $f, 5);
			$version = preg_replace('/[^0-9,.]/','',$version);
			      
			$info['browser'] = $parent;
			$info['version'] = $version;
			break; // first match wins
		}
	}
		return $info;
      }