|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() kévin defivesÉtudiant Inscription : novembre 2010 Messages : 47 ![]() |
Bonjour,
En exécutant ce code : Code :
Fatal error: Call to undefined function modifyWithGeshi() in C:\wamp\www\ShareYourGeekEdge\app\models\app_model.php(37) : runtime-created function on line 1 Or, je ne vois pas du tout d'où cela proviens car ma fonction appelé dans preg_replace_callback est pourtant bien définie =/ Mais le problème viens bien du create_function, il ne trouve pas modifyWithGeshi(). Et pourtant elle est juste en dessous... Pouvez vous m'aider svp ? |
||
|
|
00
|
|
|
#2 |
![]() ![]() Sébastien Ingénieur réalisateur Inscription : mars 2011 Messages : 776 ![]() |
Bonsoir,
Si ça n'a pas changé, PHP compile de "haut en bas". Donc, dans ta première fonction, tu fais appelles à la seconde qui n'est pas encore définie par PHP. Inverse l'ordre des deux.
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles. - avant de poster ![]() - Je ne réponds pas aux questions techniques en MP. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() kévin defivesÉtudiant Inscription : novembre 2010 Messages : 47 ![]() |
Déjà fait (et re-testé à l'instant) mais cela ne change rien. Toujours la même erreur :
Fatal error: Call to undefined function modifyWithGeshi() in C:\wamp\www\ShareYourGeekEdge\app\models\app_model.php(46) : runtime-created function on line 1 Voici la ligne 46 : Code :
$new_func = create_function('$matches', 'return modifyWithGeshi($matches[2], $matches[1]);'); |
|
|
00
|
|
|
#4 |
![]() ![]() Sébastien Ingénieur réalisateur Inscription : mars 2011 Messages : 776 ![]() |
Je t'invite à lire la doc sur create_function.
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles. - avant de poster ![]() - Je ne réponds pas aux questions techniques en MP. |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() kévin defivesÉtudiant Inscription : novembre 2010 Messages : 47 ![]() |
Déjà fait (je fais ça depuis 1 heure =x) Mais je continue... =/
|
|
|
00
|
|
|
#6 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
D'une, modifyWithGeshi est une méthode non une fonction : l'erreur est légitime.
De deux, plutôt qu'une fonction lambda, pourquoi ne pas tout simplement utiliser array($this, 'modifyWithGeshi') directement comme callback après avoir revu le "prototype" de cette méthode (2 paramètres scalaires => 1 array - à la rigueur, il est facile de gérer les deux) ? Même avec PHP 5.3, ça me paraît mieux que d'utiliser une fonction anonyme intermédiaire. PS : en prime $path est indéfinie ? PPS : est-ce à la bonne place (Helper ?) et/ou utile en l'état (instance vs de classe vs autre) ? (à moins d'être incomplet/simplifié) Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() kévin defivesÉtudiant Inscription : novembre 2010 Messages : 47 ![]() |
J'ai un peu du mal à comprendre la solution que tu proposes mais j'essaierai demain.
En fait je ne comprend pas ce que tu veux dire par "utiliser directement l'array au lieu d'une fonction lambda ^^' Peux-tu me donner un exemple pour que je puisse visualiser ? Oui, path est defini par cakephp je crois. Edit : Je pense avoir compris ce que tu voulais dire en lisant la doc sur preg_match_callback. J'essaierais demain ! Edit2 : Merci pour le code, je teste ca dès demain. Merci encore pour le temps que vous me consacrez ! EDIT 3 : Cela fonctionne, merci encore, voici mon code : Code :
Merci encore |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com