tags:

views:

177

answers:

4

in PHP4 there is no public,private,etc. So I am wondering if there is some sort of work-around so that I can make a class's property private and only accessible via getter/setter

Thanks!!

+3  A: 

You can't. Since the property is itself public, anyone can access it without getter / setter preventing you from actually performing any checks in between.

Johnco
+2  A: 

Can't be done, sorry.

It's certainly possible to build a workaround by building own getter and setter functions and keeping a table of which property is private/public/protected, but it's hardly worth the effort anymore, is it? PHP 4 is really outdated, see here.

Pekka
+5  A: 

You could approach this with a distinct syntax that clearly discourages the usage of such properties. You could borrow the python syntax of starting the method name with an underscore to define it as private.

This doesn't block anyone from using it, of course, but its usage will be discouraged.

Massimiliano Torromeo
+2  A: 

you can still write getters and setters for that variable, but there is no way to make a function private in PHP 4.

GSto