2010-02-11 6 views
0

en PHP4 il n'y a pas public, privé, etc. Donc, je me demande s'il y a une sorte de work-around afin que je puisse rendre la propriété d'une classe privée et seulement accessible via getter/setterComment rendre une propriété de classe privée en PHP4?

Merci !!

+3

Pourquoi utilisez-vous encore PHP4? Il a été abandonné il y a trois ans! http://us.php.net/archive/2007.php –

+0

C'est la question la plus importante. S'agit-il de la théorie des langues ou de l'écriture d'un nouveau code? –

+1

Un grand nombre d'hôtes partagés ne supportent toujours que PHP 4, ce qui n'est pas toujours faisable pour une mise à niveau facile vers PHP 5. Legacy a toujours besoin de maintenance. –

Répondre

5

Vous pouvez aborder cela avec une syntaxe distincte qui décourage clairement l'utilisation de ces propriétés. Vous pouvez emprunter la syntaxe python de démarrage du nom de la méthode avec un trait de soulignement pour le définir comme privé.

Cela ne bloque personne, bien sûr, mais son utilisation sera déconseillée.

3

Vous ne pouvez pas. Étant donné que la propriété est elle-même publique, tout le monde peut y accéder sans getter/setter, ce qui vous empêche d'effectuer des vérifications entre les deux.

2

Ne peut pas être fait, désolé.

Il est certainement possible de construire une solution de contournement en construisant ses propres fonctions getter et setter et en gardant une table dont la propriété est private/public/protected, mais cela n'en vaut plus la peine, n'est-ce pas? PHP 4 est vraiment obsolète, voir here.

2

vous pouvez toujours écrire des accesseurs pour cette variable, mais il n'y a aucun moyen de faire une fonction privée en PHP 4.