Usually when I see PHP classes, most of the variables and functions are either private or protected. Because the PHP is executed on the server side, I don\'t understand why
It's not really about security, but more about the OOP design. They tell you, and other developers, how the class should be used. Private and protected variables are for internal use, while public members are for public use.
Private and protected make sense in the context of visibility, and not security features stricto senso.
Class members declared public can be accessed everywhere. Members declared protected can be accessed only within the class itself and by inherited and parent classes. Members declared as private may only be accessed by the class that defines the member.