THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 Thelia 1.4.2.1 --> PHP 7.1

(26-02-2019 16:13:51)


Bonjour,
Je tourne sur une version de Thelia 1.4 donc et je souhaite la modifier pour qu'elle tourne en PHP 7.1.
Actuellement j'ai réalisé toutes les modifs pour utiliser mysqli au lieu de mysql et je ne rencontre plus d'erreur de ce coté là pour le moment.

J'ai donc changé la version de PHP chez mon hébergeur et je compte corriger chaque erreur qui apparaitra au fur et à mesure que j'affiche les différentes pages de mon site (Donc pour le moment mon site est down car je n'arrive pas à faire cela en local).
Bref, là je butte sur une erreur que je n'arrive pas à franchir.
Elle est produite ici dans la page divers.php:

	// renvoie le chemin pour aller à une rubrique donnée
	function chemin($id){

		$tab ="";
		
		$trubrique = new Rubrique();
		$trubrique->parent = $id;

		$i =  0;
 		do {
			$trubriquedesc = new Rubriquedesc();
			$trubrique->charger("$trubrique->parent");
			$trubriquedesc->charger($trubrique->id);
			$tab[$i] = new Rubriquedesc();
			$tab[$i++] = $trubriquedesc;
		} while($trubrique->parent != 0);

		$i--;

		return $tab;
	
	}	

...plus précisement à la ligne "$tab[$i] = new Rubriquedesc();" qui renvoi comme erreur:
"Recoverable fatal error: Object of class Rubriquedesc could not be converted to string in /homepages/26/d319006886/htdocs/fonctions/divers.php on line 66"

Alors j'ai cherché, croyez moi, et je pense qu'il faut que j'utilise quelque chose comme "->toString()".
Seulement voilà, j'ai beau le coller partout où je peux ce "->toString()" ben j'arrive à rien !

Si une âme charitable veux bien me corriger ce bout de code pour ne plus avoir cette erreur je pense après comprendre par moi même et pouvoir avancer...
merci d'avance (Roadster ? ;-) ) !

Je pense que je dois aussi ajouter la fonction public _to String dans Rubriquedesc.class.php --> c'est bon? Comment faire, précisément, je tourne en boucle là....

Last edited by solakin (26-02-2019 18:01:28)

Offline


Bon, j'ai réessayé mais je ne comprends pas ce que je dois faire... J'ai pas le niveau (ça c'est sûr ! smile)... Si c'est simple, quelqu'un peu m'aider ici ? Si c'est complexe, Roadster31 (je m'adresse à toi car je t'ai déjà commandé de petits travaux il y a quelques temps déjà) tu peux me donner une idée du coût pour avancer sur ça ?
Un autre dev est bienvenue aussi s'il en passe un par là... Merci.

Offline


Passer une 1.4.2.1 en PHP 7... C'est un challenge. J'ai des 1.5 qui tournent bien en 7.1, mais pas de 1.4.

Le problème est là : $tab ="";

$tab est initialisé comme une string, mais utilisé par la suite comme tableau.

Avec $tab = []; ça devrait rouler.

Des approximations de ce genre, il y en a beaucoup en 1.4... Et PHP 7.1 est plus strict en terme de typage (mais moins que 7.2). Que la Force soit avec toi.


OpenStudio Toulouse

Offline


Oui, c'est surement un chalenge, je le découvrirai au fur et à mesure.
Et oui ! Bien sûr, merci pour ta correction, c'était pas du tout là que je cherchais, tu l'auras compris.
Merci pour ton explication claire et tes encouragements, je prends tout avec plaisir.
J'y retourne!
Je pense qu'il n'est pas exclu que je revienne t’embêter ;-)... Mais je n'abuserai pas.

Offline


Ben ,voilà, je pense avoir fini.
Je suis prudent quand même, j'ai testé toutes les fonctionnalités de mon site et pour le moment je n'ai pas d'erreur (hormis des Warnings que j'ai cachés sous le tapis)
mais c'est à l'usage qu'il en remontera de nouvelles peut-être....

Voilà si quelqu'un rencontre un problème avec cette version de Thelia 1.4.2.1 et PHP7 je pourrai peut-être aider (sous réserve que j'ai résolu le même problème évidemment).