Re: Using PHP/HTML effectivly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Richard Lynch wrote:
> On Wed, June 14, 2006 3:28 pm, BBC wrote:
>> I used many functions as template to change the html syntax.
>> this is one of the function as a sample:
>> <?php
>>  function
>> tabletag($border="0",$width="100%",$height="100%",$cellpadding =
>> "0",$cellspacing="0",$style="")
>>  {
>>   print ("<table width=\"$width\" height =\"$height\"
>> border=\"$border\"
>> cellspacing=\"$cellspacing\" cellpadding=\"$cellpadding\"
>> style=\"$style\">");
>>  }
>> ?>
> 
> Here are the 'cons' to this solution:
> 
> 1.
> The developer has to remember the attributes in the order you chose.
> 
> There is no friggin' way I'm going to remember that you put
> cellpadding before cellspacing on a day-to-day basis.  Sorry.

which is easily countered if one designs the function better,
something like:

function tabletag($args = array())
{
	// default values.
	$defaults = array(
		'border' => 0,
		'width'  => '100%'
		// etc		
	);
	
	// normalize the args
	$args = array_merge($defaults, $args);
	$args = array_intersect_key($args, $defaults); // you might not have this function

	// addition arg sanitation...?

	// build a table!!!
}

> 
> 2.
> If they want the default border, whatever that is, they have to know
> what it is, and provide it, to get the non-default width.
> 
> Passing in NULL does not count, as it will not work in PHP5+

did passing NULL is php4 give you the default value defined in the functions
signature declaration? I can't remember it ever doing that?

I always thought it was: pass in NULL, get a NULL [inside the func].

> 
> 3.
> You've basically swapped a simple table tag:
> <table border="0" width="100%" ... >
> with an almost equally long and complicated function call:
> tabletag(0, '100%', ...);
> 
> So, really, where's the benefit?...
> 
> You can just call the function, or you can just type the table tag.
> 
> I see no "win' here, personally.

one win could be that it enforces consistent HTML output - so no more style-de-jour
kind of HTML output.

then again an output filter that uses the Tiny extension will probably do just as well :-)

> 
> Obviously others do see an added value, of course.
> 
>> so I don't need to type "<table ....>", just call those functions.
>> and I don't think it works slowly (cause we just set one function for
>> many
>> tables)
> 
> If you have enough TABLE tags for the performance to be an issue, then
> the browser willl choke...
> 
> However, assuming you have a function for TR and/or TD, then the
> number of rows in a large TABLE could be a serious performance issue.
> 
> This is all assuming proper use of TABLE for tabular data and not
> layout, thank you very much CSS weenies :-)

yeeeehaw! ;-)

> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux