Portál AbcLinuxu, 5. listopadu 2025 02:26
obsah prvni.php : function prvni_func(){....}
obsah druha.php : function druha_func(){....}
A pak dále zavolat funkci
$volba = 'prvni'; include $volba.".php"; $volba_func(); // zavolání první funkce $volba = 'druha'; include $volba.".php"; $volba_func(); // zavolání druhé funkce
$volba = 'prvni'; $prvni = new $volba(); $prvni->func(); // zavolání první metody $volba = 'druha'; $druha = new $volba(); $druha->func(); // zavolání druhé metody
x.php:
return function (....)
{
}
main.php:
$fun = require x.php;
$fun();
akorát nebudeš mít tu funkci globálně přístupnou
some_func() a zároveň je instalované rozšíření runkit:
$volba = 'prvni';
include $volba.".php";
some_func();
runkit_function_remove('some_func');
$volba = 'druha';
include $volba.".php";
some_func();
$volba = 'Prvni'; $v = new $volba(); $v->delejNeco(); $volba = 'Druha'; $v = new $volba(); $v->delejNeco();No a aby to celé fungovalo, tak na začátku udeláš:
spl_autoload_register(function($class) { $filename = 'class/'.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php'; if (file_exists($filename)) { require($filename); } });Pak budeš mít soubory
class/Prvni.php a class/Druhy.php, kde bude definice těch dvou tříd.
Jen se ještě zamysli nad tím, co se stane, když ti někdo podstrčí opravdu ošklivou volbu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.