Mammouth du PHP |
2278 Messages
08 janv. 2015, 20:55
Si tu fais ce que dit @rthur tu verras des messages d'erreur comme celui-ci:
Fatal error: Call-time pass-by-reference has been removed in /var/www/html/pdfreport.php on line 205
Or fatal Error arrête l'execution du script.
En fait il y a d'autres lignes (182 186 204 221 336 353 503 657) semblables à celle-ci:
WordWrapText(&$text, $info['value'], $this->pdf); à corriger ainsi:
WordWrapText($text, $info['value'], $this->pdf);
Explication sommaire:
PHP passe les variables aux fonctions soit par valeur soit par adresse (par référence):
par reference on procède ainsi:
http://php.net/manual/fr/language.references.pass.php
<?php
function bidule(&$var) {
$var++;
}
$a=5;
bidule ($a);
// $a vaut 6 maintenant
?>
Et la variable assée par référence revient modifiée par la fonction.
C'est ce que faisait WordWrapText avec en plus une façon différente d'écrire:
<?php
function bidule($var) { // ou (&$var), je ne me souviens plus
$var++;
}
$a=5;
bidule (&$a);
// $a vaut 6 maintenant
?>
Le wordwrap actuel passe par valeur et retourne une chaîne qu'il faut affecter.
*
Cec i dit, après modifs, j'ai une autre erreur:
Restricted accessqui provient de la ligne 2 montrant que du point de vue de php tout va bien mais que ce script doit être appelé à partir d'une page où _JEXEC est défini, ce que je contourne en ajoutant avant la ligne 2 celle-ci:
define('_JEXEC', 1);
pour apprendre qu'il me manque JFACTORY... qui permet l'accès à la base de données... mais ça ne doit pas etre insurmontable.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD