Zitat von agrajag
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
echter Alias einer Funktion
Einklappen
Neue Werbung 2019
Einklappen
X
-
[B]Mfg Tomtaz[/B]
[I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:
-
-------------------------------------------------
Danke für eure Antworten. Es ist scheinbar nicht einfach möglich, und das war was ich wissen wollte.
-------------------------------------------------
Zitat von brian johnson Beitrag anzeigen
willst du fehler intelligent erfassen, so verwende exceptions. du kannst auch php fehler gut debuggen mit set_error_handler und debug_print_backtrace in deiner genannten form debuggen....
Ich konnte es nun auf eine kompliziertere Art lösen, die inzwischen recht gut funktioniert(nicht perfekt für die Performance, aber da die funktionen nur bei Bedarf geladen werden ist das egal.)
PHP-Code:function create_new_alias($function,$num_args,$alias){
global $debug;
$debug->add_alias($function,$alias);
//now the debugger will search for $function, replace the name with $alias and then it will delete the index before(the alias function)
for($i=0;$i<$num_args;$i++){ //create the arguments...
$args.="\$arg_$i,";
}
$args=rtrim($args,",");
//and now we will create the alias function
eval("
function $alias($args){
return $function($args);
}
");
}
function foo($val){
echo $val;
}
create_new_alias("bar",1,"foo");
bar("Juhuuu"); // echos now Juhuuu
Kommentar
-
Ehrlich ich kapiers nicht, was das für nen Mehrwert darstellt.
Und was hier passiert, brauche ich ja wohl nicht zu sagen...
PHP-Code:create_new_alias("bar",1,"foo");
bar("Juhuuu"); // echos now Juhuuu
// ...
// 1000 Zeilen später oder im Include
create_new_alias("bar",1,"foo");
bar("Yippieee"); // Oh No - keine Yippieee sondern nur ein Fatal error :(
[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
Kommentar
-
Zitat von nikosch Beitrag anzeigenEhrlich ich kapiers nicht, was das für nen Mehrwert darstellt.
Und was hier passiert, brauche ich ja wohl nicht zu sagen...
PHP-Code:create_new_alias("bar",1,"foo");
bar("Juhuuu"); // echos now Juhuuu
// ...
// 1000 Zeilen später oder im Include
create_new_alias("bar",1,"foo");
bar("Yippieee"); // Oh No - keine Yippieee sondern nur ein Fatal error :(
Jop, ich verwende Eval eh ungerne, nachdem Funktionsnamen aber ohnehin alphanumerisch sind kann ich das umgehen indem ich den rest weglösche
@ David
den Debugger werde ich hier nicht posten xD, der ist ziemlich lang^^ der backtrace wird in einem array gespeichert, allerdings ohne der Aliasfunktion dazwischen, das ist sinnlose information.
@Koala
Die frage war nicht ob es so auch geht, sonder ob es eine php eigene Funtkion dafür gibt, sowie in anderen Programmiersprachen.
Aber leider scheint es keine zu geben. Danke an alle die mir helfen wollten.
Kommentar
-
Kurz und bündig: was du willst, ist Dummsinn und du solltest dein Softwaredesign überdenken. STOP Unterredung beendet. STOP Wünsche noch frohes Programmieren. STOPRefining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”
Kommentar
-
Aua.[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
Kommentar
-
Zitat von Manko10 Beitrag anzeigenKurz und bündig: was du willst, ist Dummsinn und du solltest dein Softwaredesign überdenken. STOP Unterredung beendet. STOP Wünsche noch frohes Programmieren. STOP[B]PHP4?!?[/B]>>>[B]Aktuelle[/B] PHP Version: [B]5.2.11 || 5.3.0
[URL="http://en.opensuse.org/Factory/News"]Suse 11.2 *vorfreude*[/URL]
[/B]
Kommentar
Kommentar