When it is necessary to use Classes in PHP
I am a wordpress plugin developer. I saw the source of many pluginsand many plugin use "classes" in them and some without classes.
Many huge coded plugins like "wp-postratings" does not use Classes and some small plugins use Classes.
edit: Since classes have private, public and protected access specifiers, i feel a taste of security Does it increase security?
Other than PHP does other la开发者_如何学Pythonnguages require classes ?
Is it compulsory to use Classes ?
I need some suggestions.
No, it's not compulsory, nor does it increase security per-se. it's just a different style of programming.
Most programmers would agree that object-oriented programming (classes) has many advantages over modular programming (functions). But that's more of a religious debate that I'd rather not get into :)
You should read about Object Oriented Programming. It is not compulsory to use classes but it can make code organization and maintenance of your code easier.
It's obviously not a technical requirement, but if the code structure of your plugin can be described in 2 or more classes, I'd say go OO. It doesn't have anything to do with security but it might make your code cleaner and easier to maintain.
As Eric already said, it's not compulsory, nor does it increase security per-se.
One huge advantage, however, is that it simplifies prefixing and reduces the risk of accidentally causing an error from redeclaring a function.
I always use OOP when I can.
Unless you have a good reason not to, I recommend always using classes. There is no real downside to using them.
Using classes is not mandatory it just helps you and other developer who will modify your code to understand it better.
In my opinion you should use classes whenever it's necessary.
You do not have to write code in an Object Oriented Fashion. You can write procedural code in PHP as well. Many projects do, Drupal, if I am not mistaken is one of them.
At the end of the day. Use the programming paradigm that is best suited to the task at hand, whether it be procedural, functional or OOP.
精彩评论