besoin d'une explication sur bidouille PHP

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] besoin d'une explication sur bidouille PHP

    Bonjour à toute la Communauté

    Je suis sous joomla 1.7.5, template rockettheme Camber, avec composant Zoo de yootheme en version 2.4, hebergeur Amen.
    Pour info, à la suite d'une mise à jour de Zoo en version 2.5 je constate que celui-ci à besoin de la version PHP 5.2.7 et mon hebergeur est en version PHP 5.2.6. Donc je ne peux pas mettre à jours mon Zoo !

    Les données du problème : J'upgrade mon Joomla 1.7.5 vers 2.5.4 OK
    Je vérifie la fonctionnalité de Zoo et message d'erreur: Fatal error: Cannot access protected property AppView::$basePath in /htdocs/public/www2/administrator/components/com_zoo/framework/classes/controller.php on line 66

    Je cherche sur internet ce message d'erreur en constatant qu'il y a un paquet de gens concernés par ce problème et pas de solution.

    Je regarde la ligne 66 de controller.php :
    // automatically pass all public class variables on to view
    Ligne65 foreach (get_object_vars($this) as $var => $value) {
    Ligne66 if (substr($var, 0, 1) != '_') {
    self::$_views[$name]->set($var, $value);
    }
    }

    Je remplace l'underscore par rien et tout fonctionne ????
    Entre temps, Zoo me demandait d'upgrader sa version 2.4 vers 2.5 (qui ne fonctionnait pas because PHP 5.2.6 de mon hébergeur) et que je pouvais réinstaller la version 2.4 de zoo, ce que je fais !

    Donc je suis en Zoo v2.4 qui fonctionne avec joomla jusqu'à la version 1.7.5 alors que maintenant je suis en joomla 2.5.4.
    La version de Zoo 2.5 fonctionne à partir de la version Joomla 2.5

    Alors je me pause des questions sur cette bidouille de la ligne 66. Incidences ou pas incidences sur un processus quelconque ?
    Avec mes remerciements sur le travail de vos neurones.

  • #2
    Re : besoin d'une explication sur bidouille PHP

    Bonjour,

    Attention à ce genre de bricolage!
    En supprimant le test (au moins sa valeur), tu autorises un accès public à une méthode protected.
    Joomla! 2.5 est devenu bien plus strict et respecteux des règles.

    On n'accède pas à une variable ou méthode protected depuis ailleurs que la classe elle-même ou une de ses descendantes. Ce type d'erreur indique qu'une classe autre tente un accès à une valeur protégée d'une classe sans en avoir les droits.
    Ce qu etu as fait, en changeant le test, est de passer toutes les variables, et pas que les publiques, ce qui est une erreur.

    Zoo a été corrigé justement pour respecter les impératifs de respect de la portée des éléments avec Joomla! 2.5.

    J'ai surtout un gros doute sur les hébergeurs qui n'ont jamais mis à jour des versions aussi antiques de PHP, dont les bugs et erreurs diverses ont été corrigées depuis longtemps.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : besoin d'une explication sur bidouille PHP

      Bien le bonjour Jisse

      Merci pour la réponse...
      Je me doutais de ce genre de réponse sur l'incidence que cela pouvait apporter.

      Le lien qui emmène sur Zoo est en statut "enregistré". J'ai testé d'accéder sans être connecté et le lien n'est pas autorisé...c'est déjà ça !
      Mais quand même ta réponse m'a ammené à remettre mon controller.php à son origine ET CURIEUSEMENT ça fonctionne ....elle est pas belle la vie

      Je me pose toujours la question mon Zoo qui est en version 2.4 et ne fonctionnant que jusqu'à Jommla 1.75 fonctionne en Joomla 2.5.4 ???
      Du moment que cela fonctionne c'est le principal. Mon souci c'est que j'applique régulièrement les patchs de sécurité de Joomla alors combien de temps vais-je tenir comme cela ?

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X