Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-08-2008 10:33:41

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

ZF 2.0, PHP 5.3 et namespaces

Bonjour,

Juste pour vous signaler un message de Matthew Weier O'Phinney sur la mailing liste générale indiquant en gros les points suivants concernant les évolutions du ZF suite à l'arrivée de PHP 5.3 :
- les namespaces natifs de PHP 5.3 seront adoptés dans la version 2.0 du ZF (compter 2e moitié 2009 pour le planning)
- des outils et des docs devraient faciliter la migration du ZF 1.x vers le ZF 2.0 (notamment pour ces problèmes de namespaces)
- a priori une version mineure de la ZF 1.x devrait être nécessaire pour que le ZF 1.x tourne sans problème sur PHP 5.3, par contre si j'en crois le ton du message, les namespaces ne devraient pas être intégrés aux versions ZF 1.x

Vous pouvez voir l'ensemble du message à l'adresse :
http://www.mail-archive.com/fw-general@ … 14140.html

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#2 08-08-2008 11:20:20

fte
Membre
Lieu: 06 13 83
Date d'inscription: 16-05-2008
Messages: 112
Site web

Re: ZF 2.0, PHP 5.3 et namespaces

Concernant les espaces de nom, c'était pas déjà le cas dans php avec la notation perl (::) ?

Dernière modification par fte (08-08-2008 11:20:34)

Hors ligne

 

#3 08-08-2008 15:55:06

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: ZF 2.0, PHP 5.3 et namespaces

Bonjour fte,

Non, pour l'instant (jusqu'aux version 5.2.x), la notation "::" ne concerne que l'accès à des éléments statiques de classe (ex : Zend_Loader::loadClass("xxx")).

Les espaces de noms de PHP 5.3 utiliseront aussi une notation "::" qui elle ne voudra pas dire la même chose. Elle est utilisée dans un autre contexte. Elle permettra de désigner des namespaces et des noms de classe.

On pourrait imaginer quand dans un code en PHP 5.3 avec le ZF 2.0, le code

Code:

$validator = new Zend_Validate_EmailAddress();

deviendrait

Code:

use Zend::Validate;
$validator = EmailAddress();

et dans la définition de la classe EmailAddress, on aurait un code du genre :

Code:

namespace Zend::Validate;
class EmailAddress {
...
}

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#4 08-08-2008 18:53:37

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: ZF 2.0, PHP 5.3 et namespaces

En effet je confirme, actuellement ZF n'est pas compatible (100%) PHP5.3, sa compatibilité est prévue pour la 1.7 il me semble.
En revanche, cette version n'utilisera pas les namespaces, et elle n'utilisera pas non plus les additions OO très intéressantes de PHP5.3

ZF2.0 est un gros chantier et ne sera pas compatible avec ZF1.x. Il utilisera les namespaces, ainsi beaucoup de noms de packages seront changés pour profiter des espaces de nommage.
Aussi, ZF2.0 exigera PHP 5.3 minimum, car il tirera parti des nouveautés OO qu'offre PHP 5.3, les traits, la résolution statique héritée (Late static Binding), et d'autres joyeusetés.

Hors ligne

 

#5 11-08-2008 09:27:04

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: ZF 2.0, PHP 5.3 et namespaces

Au passage l'héritage multiple c'est pour quand? Php5.3 ? v.6 ? Pas encore prévu?

Hors ligne

 

#6 11-08-2008 11:06:00

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: ZF 2.0, PHP 5.3 et namespaces

A priori ça n'arrivera jamais l'héritage multiple dans PHP. Dans les langages "qui se veulent fiables et proches du génie logiciel" (et PHP prend cette voie avec PHP5.3), l'héritage multiple est vu comme une source de bugs infinie (je suis assez d'accord avec l'analyse). On ne sait jamais quelle méthode est réellement appelée dans une classe...

Par contre ces mêmes langages ont ajouté le mécanisme des interfaces. Les interfaces permettent de simuler un héritage multiple tout en sachant toujours quelle méthode est appelée. Dans certain cas, ça peut amener des redondances de code, mais globalement l'héritage est de moins en moins à la mode dans les architectures. En général ça ne pose pas trop de problème. (il suffit de regarder les helpers dans le ZF. Ils permettent d'éviter de sous-classer Zend_Controller_Action... c'est typiquement le genre d'architecture qui tend à limiter l'héritage).

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#7 11-08-2008 13:33:38

quode
Membre
Date d'inscription: 22-03-2007
Messages: 20

Re: ZF 2.0, PHP 5.3 et namespaces

Mr.MoOx a écrit:

Au passage l'héritage multiple c'est pour quand? Php5.3 ? v.6 ? Pas encore prévu?

Il n'y aura probablement jamais d'héritage multiple dans php. Ce n'est pas un problème en soi car le support des traits est activement débattu actuellement et on peut raisonnablement penser que php les supportera à court ou moyen terme. http://wiki.php.net/rfc/traits

Ceci plus les fonctions anonymes (dont closures), les namespaces, le LSB, j'en passe et des meilleurs, va considérablement élargir les possibilités. En ce qui me concerne, je trouve ça fantastique ;)


All software problems can be solved by introducing an extra level of indirection. Well, almost.

Hors ligne

 

#8 11-08-2008 15:15:56

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: ZF 2.0, PHP 5.3 et namespaces

Merci quode pour ce lien sur les Traits. Je ne suis pas absolument emballé par l'idée, mais c'est intéressant de savoir que c'est en discussion... (j'ai des souvenirs assez atroces de maintenance d'applications C++ avec des héritages multiples... pour moi, c'est un peu devenu le mal absolu... mais bon, dans tous les cas, c'est pas moi qui décide smile )

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#9 18-08-2008 00:59:06

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: ZF 2.0, PHP 5.3 et namespaces

Yes les traits vont arriver et c'est comme tout, il faut en user, sans en abuser (on peut en conception, faire des très belles choses avec les traits, mais aussi d'atroces choses :-D )
Pour le développement de ZF, ça va grandement servir en tout cas.
Vive PHP 5.3 ^^

Hors ligne

 

#10 30-09-2008 09:41:17

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

Re: ZF 2.0, PHP 5.3 et namespaces

Bonjour,

Savez-vous si le Zend Framework intègrera l'utilisation de l'extension PHAR qui sera bientôt native à PHP ?

Hors ligne

 

#11 30-09-2008 18:48:05

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: ZF 2.0, PHP 5.3 et namespaces

Hello rod ;-)
Ta question est un peu confuse : 'intègrera l'utilisation de l'extension PHAR' ....

On a rien pour le moment, PHAR est jeune, et j'avoue avoir peu joué avec.
Je pense qu'une fois qu'il aura mûri, il sera possible de packager le ZF dans PHAR, et même de packager une appli entière ZF, car PHAR supporte le bootstraping, et l'accélération via APC.

Après si tu veux dire piloter PHAR depuis ZF (Zend_Phar ?) , il va falloir attendre de prendre en main l'API (pas simple) de PHAR

Hors ligne

 

#12 01-10-2008 09:42:33

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

Re: ZF 2.0, PHP 5.3 et namespaces

Merci de ta réponse. Il va falloir que je m'y penche...

Hors ligne

 

#13 24-08-2009 14:06:39

Yoteco
Nouveau membre
Date d'inscription: 24-04-2007
Messages: 6

Re: ZF 2.0, PHP 5.3 et namespaces

philippe a écrit:

Bonjour fte,

Non, pour l'instant (jusqu'aux version 5.2.x), la notation "::" ne concerne que l'accès à des éléments statiques de classe (ex : Zend_Loader::loadClass("xxx")).

Les espaces de noms de PHP 5.3 utiliseront aussi une notation "::" qui elle ne voudra pas dire la même chose. Elle est utilisée dans un autre contexte. Elle permettra de désigner des namespaces et des noms de classe.

On pourrait imaginer quand dans un code en PHP 5.3 avec le ZF 2.0, le code

Code:

$validator = new Zend_Validate_EmailAddress();

deviendrait

Code:

use Zend::Validate;
$validator = EmailAddress();

et dans la définition de la classe EmailAddress, on aurait un code du genre :

Code:

namespace Zend::Validate;
class EmailAddress {
...
}

A+, Philippe

Euh le séparateur d'espace de nom n'est pas :: mais \ exemple ici : http://www.php.net/manual/fr/language.n … orting.php

Hors ligne

 

#14 24-08-2009 17:27:41

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: ZF 2.0, PHP 5.3 et namespaces

Yoteco ->
En même temps Philippe a écrit ça y a plus d'un an et ça a changé entre temps. Regarde bien les dates


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages