Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/12/2010, 12h14   #1
Rédacteur
 
Avatar de Halleck
 
Développeur PHP & Architecte logiciel
Inscription : mars 2003
Messages : 562
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loiret (Centre)

Informations professionnelles :
Activité : Développeur PHP & Architecte logiciel

Informations forums :
Inscription : mars 2003
Messages : 562
Points : 1 379
Points : 1 379
Par défaut Namespace et use global

Bonjour tout le monde,

pour une besoin extrêmement spécifique (mais important), j'ai besoin de faire une sorte de use global, ou au pire un use avec une variable.
Code :
1
2
3
4
5
6
7
 
#fichier main
global use Anything as Lib;
 
#fichier 1
namespace Toto;
Lib\test();
ou au pire :
Code :
1
2
namespace Totot;
use $myLib as Lib;
D'après mes recherches et mes tests ce n'est pas possible. Mais peut-être quelque chose m'a échappé ?

PS: je ne souhaite pas rentrer dans le débat propre/pas propre, j'ai un besoin auquel je souhaite répondre, pourquoi pas par cette solution si elle existe, c'est tout
__________________
Zend PHP Certified Engineer
tutoriels : tutos PHP, Web & SEO blog : blog.lepine.pro
membre de l'AFUP (Association des Utilisateurs de PHP)
Halleck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 10h58   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 455
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 455
Points : 2 537
Points : 2 537
Envoyer un message via Skype™ à rawsrc
Bonjour Halleck,

J'ai déjà été confronté à ce problème et j'arrive à la même conclusion que toi : c'est impossible en l'état du PHP ou du moins après tout un tas d'essais, je n'y suis pas arrivé.

Par contre je suis arrivé à contourner cette limitation en jouant judicieusement avec l'autoloader. Enfin je ne sais pas si ton problème est lié à l'autoloading ou pas.
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 13h55   #3
Rédacteur
 
Avatar de Halleck
 
Développeur PHP & Architecte logiciel
Inscription : mars 2003
Messages : 562
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loiret (Centre)

Informations professionnelles :
Activité : Développeur PHP & Architecte logiciel

Informations forums :
Inscription : mars 2003
Messages : 562
Points : 1 379
Points : 1 379
Oui l'autoloader permet de contourner le problème de chargement, mais pas de typage :
Code :
function toto(\Lib\Totot $oTotot) {}
__________________
Zend PHP Certified Engineer
tutoriels : tutos PHP, Web & SEO blog : blog.lepine.pro
membre de l'AFUP (Association des Utilisateurs de PHP)
Halleck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 13h58   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
je vois pas trop l'intérêt de faire ca ? c'est pour évité de faire un use par classe ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 14h03   #5
Rédacteur
 
Avatar de Halleck
 
Développeur PHP & Architecte logiciel
Inscription : mars 2003
Messages : 562
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loiret (Centre)

Informations professionnelles :
Activité : Développeur PHP & Architecte logiciel

Informations forums :
Inscription : mars 2003
Messages : 562
Points : 1 379
Points : 1 379
Je bosse sur un contexte très particulier, sur un très gros projet et une archi très complexe (que je ne peux pas détailler ici car trop grosse), qui nous oblige à avoir plusieurs contextes pour une même application.

Un use global nous simplifierait la vie. Après, si ce n'est pas possible, et bien on trouvera autre chose
__________________
Zend PHP Certified Engineer
tutoriels : tutos PHP, Web & SEO blog : blog.lepine.pro
membre de l'AFUP (Association des Utilisateurs de PHP)
Halleck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 14h10   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
use c'est uniquement les classes et malheureusement y'a pas de wildcard comme dans les autres langages (ça viendra peu être... *)
* d'après les devs ça ralentirai le code de faire de cette façon
http://bugs.php.net/bug.php?id=47872
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h29.


 
 
 
 
Partenaires

Hébergement Web