Alternar CSS (Toggle)

Uma função simples para alternar css com PHP. Essa dica é útil para por exemplo, alternar cor de linhas de uma grade. E com essa função você leva inteiramente grátis uma outra para definir várias caso elas não existam, algo como a tag <CFPARAM> do ColdFusion.

Segue o código abaixo:


if ( ! function_exists('def')) {

	function def(&$var, $default = "", $type = NULL, $pattern = NULL)
	{
		if (empty($var) || !isset($var)) {
			$var = $default;
		}

		if (! is_null($pattern)) {

			if (preg_match($pattern, $default) === 0) {
				throw new Exception("The default value assigned is incorrect");
			}
		}

		if (! is_null($type)) {
			settype($var, $type);
		}
	}
}

/**
 * Alterna estilos css
 *
 * @param string
 * @param string
 * @param string
 * @return string
 */
if ( ! function_exists('toggle_css') ) {

	function toggle_css(&$class, $class_1, $class_2)
	{
		def($class, '');

		$class = ( $class == $class_1) ? $class_2 : $class_1;
		return $class;
	 }
}

Pronto, para usar, siga o exemplo abaixo:

// Loop
<div class="<?php echo toggle_css($css, 'class1', 'class2');?>">Linha 1</div>

Abrasss