Originariamente inviato da bubi1
No, no Puoi ridefinire anche funzioni interne del php, basta impostare un certo flag nella configurazione ini, qualcosa tipo runkit.internaloverride (non ne sono sicuro, guarda nel manuale).
E cmq non gli passi del codice c++, gli passi sempre del codice php.

Guarda, puoi fare cosi:
runkit_function_rename('mysql_query', 'mysql_query_strae');
E tu usi nel tuo framework la funsione mysql_query_strae()

Cosi lo sviluppatore di plugin non sapra' che pesci pigliare

Oppure:
runkit_function_copy('mysql_query', 'mysql_query_strae');
runkit_function_redefine('mysql_query', '$query,$link','
//faccio i miei controlli per trovare link attivi, o guardo semplicemente il numero degli argomenti
//mostro eventuali errori
mysql_query_strae($query,$link);
');

Cosi la ridefinisci, facendo dei controlli prima.
Tutto questo e' da fare ovviamente in una porzione di codice che viene eseguita prima che parta il plugin/modulo.

Se hai dei problemi con runkit, anche apd dovrebbe avere delle funzioni che permettono di ridefinire delle funzioni.
guarda sono davvero indeciso; rinominare tutte le funzioni potenzialmente pericolose (e per sostiuire le quali fornirò delle classi apposite) ha dei vantaggi, ma credo che il livello di isolamento (nel caso del db) maggiore lo si ha tramite la seconda chiamata al db, collegandosi a un db vuoto con utente senza permessi.

Bhoo, dovrò fare un sacco di test prima di decidere