Jump to content

Namespace


Recommended Posts

Bonjour,

J'ai une classe qui doit normalement s'utiliser avec composer mais là je vois bien qu'il n'est pas disponnible.

Installer composer c'est trivial mais pour utiliser son autochargement avec toute la souplesse des namespaces, comment faites vous ?

Où ajouter :

<?php 
require_once 'vendor/autoload.php';

Pour qu'il soit disponnible de partout.

Edited by ColonelMoutarde (see edit history)
  • Like 1
Link to comment
Share on other sites

Bonjour,

Prestashop a un développement assez spécial, car il n'utilise pas les namespaces (du moins, dans le core et dans les modules, je n'ai jamais eu affaire aux namespaces). Par contre, il y a moyen d'overrider des classes déjà existantes, en mettant nomDeClass extends nomDeLaClassMere, à mettre dans le dossier d'override.

Si votre class autoload n'est pas présente sur prestashop, vous pouvez l'ajouter (via un module si vous en avez besoin dans un module). Si elle existe déjà , vous pouvez l'overrider.

J'espère avoir été claire...

Bonne fin de journée,

 

Cordialement,

Okar

 

[EDIT] Par contre, si vous intégrez des fichiers extérieurs à Prestashop, que vous mettez à la racine ou ailleurs, vous pouvez inclure des fichiers de presta dedans, avec require_once(../../monfichier.php). Si vous voulez que votre class soit disponible partout, la méthode est peut-être sale, mais essayez de voir pour l'ajouter dans /classes/ . [/EDIT]

Edited by okar (see edit history)
  • Like 1
Link to comment
Share on other sites

Merci pour ta réponse, effectivement c'est  crade et je voulais faire les choses proprement.

Mon but n'est pas d'extend des classes mais plutôt de rajouter des dépendances à mon module.

 

De toute façon je suis obligé d'extend controller

Pour ce qui est des namespace, cela permet d'avoir plusieurs fois la class toto sans qu'il y ai de collisions car elles sont dans des namespaces différents

Link to comment
Share on other sites

Bonjour,

 

Oui, je suis dev aussi ^^'

Mais historiquement, Prestashop n'a jamais utilisé les namespaces... Faut s'adapter (certes, ça demande un certain temps, surtout quand on a déjà développé autrement, et avec d'autres outils) ! Bon, après, on en est encore "à peine" à la version 1...

Bon courage en tous les cas,

 

Cordialement,

Okar

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...