Hoi leden!
Sinds de S3 migratie ben ik wat gaan testen met nieuwe functionaliteit van PHP5.3 en PHP 5.4. Ik heb hiermee een Language class die werkt met het overloading-principe. Dit is een manier waarbij je een method aanroept die niet bestaat, welke vervolgens door een magic mathod (__Call of __Callstatic bijvoorbeeld) opgevangen wordt.
De code
Code zonder rare { }-fratsenCode met rare { }-fratsenHoe werkt het?
Wat is dan dat {L|UF}?
Ik heb voor de lol nog een extra feature ingebouwd. Hiermee kan je parameters snel aanpassen. Je moet er wel voor zorgen dat je de commands vooraan zet. Alles wat voor { } komt wordt niet meer meegenomen.
De volgende commands zijn mogelijk:
Kan je ook meerdere parameters meegeven?
Zeer zeker! Je kan zoveel parameters meegeven als dat je zelf wilt. Door de manier waarop de __callStatic magic method word aangeroepen is dit zelfs heel simpel:
Mag ik dit gratis gebruiken?
Uiteraard. Je mag deze code gebruiken in alle projecten die je wil. Zolang je eventuele copyright maar laat staan. Verder mag je de code ook aanpassen en herverspreiden, zolang je de copyright maar laat staan.
De code mag ook gebruikt worden in commerciële projecten, zolang je de copyright laat staan.
Donaties zijn altijd welkom, maar zeer zeker niet verplicht.
Sinds de S3 migratie ben ik wat gaan testen met nieuwe functionaliteit van PHP5.3 en PHP 5.4. Ik heb hiermee een Language class die werkt met het overloading-principe. Dit is een manier waarbij je een method aanroept die niet bestaat, welke vervolgens door een magic mathod (__Call of __Callstatic bijvoorbeeld) opgevangen wordt.
De code
Code zonder rare { }-fratsen
Spoiler tonen
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]/**
* @author Rik Somers
* @copyright 2012
*/[/COLOR]
[URL="http://www.php.net/class"]class[/URL] L
[COLOR= #007700]{[/COLOR]
[COLOR= #FF8000]/**
* An array which holds all language variables.
*/[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]/**
* Method overloading by using __callstatic
*/[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] __callStatic[COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$strArgs[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] self[COLOR= #007700]::[/COLOR][URL="http://www.php.net/getText"]getText[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$strArgs[/COLOR][COLOR= #007700]);
}[/COLOR]
[COLOR= #FF8000]/**
* Load a new language array
*/[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] loadLang[COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrLang[/COLOR][COLOR= #007700]){[/COLOR]
self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$arrLang[/COLOR][COLOR= #007700];
}[/COLOR]
[COLOR= #FF8000]/**
* Get the text which is called by __callstatic
*/[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] [URL="http://www.php.net/getText"]getText[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$arrArgs[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #FF8000]// If our overloaded method-name exists within our language array[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/array_key_exists"]array_key_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700]) ===[/COLOR] TRUE[COLOR= #007700]) {[/COLOR]
[COLOR= #FF8000]// If there are any arguments[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrArgs[/COLOR][COLOR= #007700])) {[/COLOR]
[COLOR= #FF8000]// return the arguments by passing them in an formatted print[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/vsprintf"]vsprintf[/URL][COLOR= #007700]([/COLOR]self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #0000BB]$arrArgs[/COLOR][COLOR= #007700]);
}[/COLOR]
[COLOR= #FF8000]// If no arguments are given, return just a normal non-formatted string[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700]];
}
}[/COLOR]
[COLOR= #FF8000]// The overloaded method-name does not exist. Throw an error[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000]_STRING [[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$strKey[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]] NOT FOUND_[/COLOR][COLOR= #007700];
}
}
}[/COLOR]
?>Spoiler tonen
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]/**
* @author Rik Somers
* @copyright 2012
*/[/COLOR]
[URL="http://www.php.net/class"]class[/URL] L
[COLOR= #007700]{[/COLOR]
[COLOR= #FF8000]/**
* An array which holds all language variables.
*/[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]/**
* Method overloading by using __callstatic
*/[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] __callStatic[COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$strArgs[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] self[COLOR= #007700]::[/COLOR][URL="http://www.php.net/getText"]getText[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$strArgs[/COLOR][COLOR= #007700]);
}[/COLOR]
[COLOR= #FF8000]/**
* Load a new language array
*/[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] loadLang[COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrLang[/COLOR][COLOR= #007700]){[/COLOR]
self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$arrLang[/COLOR][COLOR= #007700];
}[/COLOR]
[COLOR= #FF8000]/**
* Get the text which is called by __callstatic
*/[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] [URL="http://www.php.net/getText"]getText[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$arrArgs[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #FF8000]// If our overloaded method-name exists within our language array[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/array_key_exists"]array_key_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700],[/COLOR] self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700]) ===[/COLOR] TRUE[COLOR= #007700]) {[/COLOR]
[COLOR= #FF8000]// If there are any arguments[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrArgs[/COLOR][COLOR= #007700])) {[/COLOR]
[COLOR= #FF8000]// Loop trough each argument[/COLOR]
[COLOR= #0000BB]$tmpArray[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrArgs[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$key[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700]) {[/COLOR]
[COLOR= #FF8000]// Match any special commands[/COLOR]
[URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"/{(.*?)}(.*)/"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$tmpMatch[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/count"]count[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpMatch[/COLOR][COLOR= #007700]) >[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) {[/COLOR]
[COLOR= #FF8000]// If multiple commands are provided, execute each of them in order[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/stristr"]stristr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpMatch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #DD0000]|[/COLOR][COLOR= #007700])){[/COLOR]
[COLOR= #0000BB]$explodeArr[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]|[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$tmpMatch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]);[/COLOR]
[COLOR= #0000BB]$tmpStr[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$tmpMatch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700]];[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$explodeArr[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$key[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$manip[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$tmpStr[/COLOR] [COLOR= #007700]=[/COLOR] self[COLOR= #007700]::[/COLOR]matchReplace[COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpStr[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$manip[/COLOR][COLOR= #007700]);
}[/COLOR]
[COLOR= #0000BB]$tmpArray[/COLOR][COLOR= #007700][] =[/COLOR] [COLOR= #0000BB]$tmpStr[/COLOR][COLOR= #007700];
}[/COLOR]
[COLOR= #FF8000]// Otherwise, just execute the single special command[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
[COLOR= #0000BB]$tmpArray[/COLOR][COLOR= #007700][] =[/COLOR] self[COLOR= #007700]::[/COLOR]matchReplace[COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpMatch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #0000BB]$tmpMatch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]);
}
}[/COLOR]
[COLOR= #FF8000]// Else, just return the plain textual value[/COLOR]
[URL="http://www.php.net/else"]else[/URL][COLOR= #007700]{[/COLOR]
[COLOR= #0000BB]$tmpArray[/COLOR][COLOR= #007700][] =[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700];
}
}[/COLOR]
[COLOR= #FF8000]// Finally, return the arguments by passing them in an formatted print[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/vsprintf"]vsprintf[/URL][COLOR= #007700]([/COLOR]self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #0000BB]$tmpArray[/COLOR][COLOR= #007700]);
}[/COLOR]
[COLOR= #FF8000]// If no arguments are given, return just a normal non-formatted string[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] self[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR][COLOR= #0000BB]$langArray[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$strKey[/COLOR][COLOR= #007700]];
}
}[/COLOR]
[COLOR= #FF8000]// The overloaded method-name does not exist. Throw an error[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000]_STRING [[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$strKey[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]] NOT FOUND_[/COLOR][COLOR= #007700];
}
}[/COLOR]
[COLOR= #FF8000]/**
* Match any special commands
*/[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] matchReplace[COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$manip[/COLOR][COLOR= #007700]) {[/COLOR]
[URL="http://www.php.net/switch"]switch[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$manip[/COLOR][COLOR= #007700]) {
case[/COLOR] [COLOR= #DD0000]U[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/strtoupper"]strtoupper[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
case[/COLOR] [COLOR= #DD0000]L[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/strtolower"]strtolower[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
case[/COLOR] [COLOR= #DD0000]UF[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
case[/COLOR] [COLOR= #DD0000]LF[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] lcfirst[COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
case[/COLOR] [COLOR= #DD0000]S[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/str_shuffle"]str_shuffle[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR][URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
case[/COLOR] [COLOR= #DD0000]T[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/trim"]trim[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
case[/COLOR] [COLOR= #DD0000]R[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/strrev"]strrev[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
case[/COLOR] [COLOR= #DD0000]UW[/COLOR] [COLOR= #007700]:[/COLOR][URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/ucwords"]ucwords[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
default :[/COLOR][URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700];[/COLOR] [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
}
}
}[/COLOR]
?>[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]/**
* @author Rik Somers
* @copyright 2012
*/
// require the language class[/COLOR]
[URL="http://www.php.net/require"]require[/URL] [COLOR= #DD0000]"lang.cls.php"[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]// create a new language array (normally you would put this in a seperate file
// you will call the method with its corresponding array-key[/COLOR]
[COLOR= #0000BB]$nl[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"fillname"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]"Vul aub uw gebruikersnaam in."[/COLOR][COLOR= #007700],[/COLOR]
[COLOR= #DD0000]"nameinc"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]"De gebruikersnaam %s is niet correct"[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #FF8000]// same as above, but then in english[/COLOR]
[COLOR= #0000BB]$en[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"fillname"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]"Please fill in your username"[/COLOR][COLOR= #007700],[/COLOR]
[COLOR= #DD0000]"nameinc"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]"The username %s is incorrect"[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #FF8000]// Load our language[/COLOR]
L[COLOR= #007700]::[/COLOR]loadLang[COLOR= #007700]([/COLOR][COLOR= #0000BB]$nl[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #FF8000]// call fillname() -> $nl[fillname][/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] L[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR]fillname[COLOR= #007700]() .[/COLOR] [COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]// call nameinc($parameter(s)) -> formatted version of $nl[nameinc][/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] L[COLOR= #007700]::[/COLOR]nameinc[COLOR= #007700]([/COLOR][COLOR= #DD0000]{L|UF}rik[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]<br /><br />[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #FF8000]// Load a new language[/COLOR]
L[COLOR= #007700]::[/COLOR]loadLang[COLOR= #007700]([/COLOR][COLOR= #0000BB]$en[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #FF8000]// same as with $nl[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] L[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR]fillname[COLOR= #007700]() .[/COLOR] [COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] L[COLOR= #007700]::[/COLOR]nameinc[COLOR= #007700]([/COLOR][COLOR= #DD0000]{L|UF}rik[/COLOR][COLOR= #007700]);[/COLOR] Wat is dan dat {L|UF}?
Ik heb voor de lol nog een extra feature ingebouwd. Hiermee kan je parameters snel aanpassen. Je moet er wel voor zorgen dat je de commands vooraan zet. Alles wat voor { } komt wordt niet meer meegenomen.
De volgende commands zijn mogelijk:
- U - Uppercase (strtoupper())
- L - Lowercase (strtolower())
- UF - Uppercase first (ucfirst())
- LF - Lowercase first (lcfirst())
- S - Shuffle string (str_shuffle())
- T - Trim string (trim())
- R - Reverse string (strrev())
- UW - Uppercase Words (ucwords())
Kan je ook meerdere parameters meegeven?
Zeer zeker! Je kan zoveel parameters meegeven als dat je zelf wilt. Door de manier waarop de __callStatic magic method word aangeroepen is dit zelfs heel simpel:
[COLOR= #0000BB]<?php
$nl[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"sentence"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]"De %s %s de %s van de %s"[/COLOR][COLOR= #007700]);[/COLOR]
L[COLOR= #007700]::[/COLOR]loadLang[COLOR= #007700]([/COLOR][COLOR= #0000BB]$nl[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] L[COLOR= #007700]:[/COLOR]SMILEYYYYYYYYYYYBEGIN[COLOR= #007700]:[/COLOR]sentence[COLOR= #007700]([/COLOR][COLOR= #DD0000]kat[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]krabt[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]krullen[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]trap[/COLOR][COLOR= #007700]);[/COLOR] Mag ik dit gratis gebruiken?
Uiteraard. Je mag deze code gebruiken in alle projecten die je wil. Zolang je eventuele copyright maar laat staan. Verder mag je de code ook aanpassen en herverspreiden, zolang je de copyright maar laat staan.
De code mag ook gebruikt worden in commerciële projecten, zolang je de copyright laat staan.
Donaties zijn altijd welkom, maar zeer zeker niet verplicht.



