This
charger_fonction()
(translation:
load_function()
) function is used to retrieve the name of an overloadable SPIP function. Whenever an internal function with a
_dist()
suffix is overloaded (by recreating it without that suffix), or whenever all of a file that contains such a function is overloaded, then the correct function to be run must be retrievable at the time that that function is to be executed.
This is what the
charger_fonction()
does. It returns the correct name of the function to be executed.
$ma_fonction = charger_fonction('my_function','directory');
$ma_fonction();
{{{The searching principle}}}
The function operates as follows:
-* if the
directory_my_function
function has already been declared, then that function is returned,
-* else
directory_my_function_dist
,
-* else try to load a file called
directory/my_function.php
then
-* return
directory/my_function
if it exists,
-* else
directory/my_function_dist
,
-* else return
false
.
Example
Send an email:
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
$envoyer_mail($email_address, $subject, $text_body);