On Tue, 28 Aug 2001, it was written:

> I have seen that in php there isn't nothing similar to dictionary
> substitution in python.
> (a dictionary is an array with string keys, like hash in perl)
> 
> This change consist in adding two functions ("a" stay for "array"):
> aprintf(string format, array dict) -- like printf, print the result
> saprintf(string format, array dict) -- like sprintf, return the result
qy> 
> It works like this (written in php-like language):
> 
> format -> "my name is %(name)s and i'm %(age)s"
> dict -> array( name=>"tom", age=> "eighteen" );
> 
> (in php, unlike python, is possible to make an array with both string and
> number indices, so the format can be also %(2)s,...)
> 
> aprintf(format,dict) -- print "my name is tom and i'm eighteen"
> saprintf(format,dict) -- return "my name is tom and i'm eighteen"
> 
> in python, these substitutions are very useful, especially in cgi
> programming, for making templates from text files, in php could be
> useful in, for example, language customisation, or message formatting,
> etc...
> 
> An example:
> if ($lang == "it")
>   define("MESSAGE","il %(animal)s %(color)s sta %(action)s %(target)s");
> else
>   define("MESSAGE","the %(color)s %(animal)s is %(action)s");
> 
> aprintf(MESSAGE,array(animal=>"cobra",color=>"green",action=>"eating",target
> =>"mouse"));
> // if the %(target)s isn't found, is ignored.
> 
> 
> (the "s" terminator could be substituted with other letters, like d for
> numbers, etc...)
> 
> This approach has several advantages over something like this:
> "the $color $animal is $action"
> because in this phrase, variables are substituted when the parser execute
> it, and in this case:
> "the %(color)s %(animal)s is %(action)s"
> parameters are substituted only when the phrase is parsed with a specialized
> function like aprintf
> 
> 
> 
> I think that this is a good idea and could save a lot of time when the
> program need to be as modular as possible.
> 
> ----------------
> Federico Marani
> [EMAIL PROTECTED]
> ----------------
> 
> 
> 
> 
> -- 
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
> 


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to