Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is PHP considered Object Oriented?

I have been reading around the definition of OOP and couldn't get why PHP is considered object oriented.

Can this have anything to do that the "basic level" of PHP isn't and more advanced features are?

like image 409
Trufa Avatar asked Dec 12 '22 19:12

Trufa


2 Answers

OO features were added to PHP in stages through versions 3-5, after much of the standard library had already been created and the language was already established. Background

For this reason the standard library is not object-oriented and so everyday PHP scripts need not use any OO-style features at all. Although PHP by now has most of the standard features of an object-oriented language, many authors don't use them.

Library functions added to the language later continued to use functional style for consistency, though many extension modules do use objects.

like image 144
bobince Avatar answered Jan 01 '23 18:01

bobince


Almost any language that allows you to create and instantiate classes can be considered object oriented.

PHP has these capabilities, but doesn't really stretch them. You can use OOP to help your code, but it isn't required. Java and C# barely allow you to write non-OO code, as everything must be in a class.

Can this have anything to do that the "basic level" of PHP isn´t and more advanced features are?

You could say that about just about any OO language. The general definition of OO code is where you create classes and instantiate them in your code, calling methods on them from other classes. Nothing stops you from using only static methods or one super class with a 'run' method that only calls other methods inside the class, both of which would definitely NOT be object oriented. As far as I know, there aren't any languages that say "You must create classes and instantiate them or you will be banished!" (I haven't looked into Smalltalk though).

Beginners often learn the basics while putting all their code in just one method that gets called at the stat of the program. Once they get to more 'advanced' features like methods and classes, they are offered other options.

like image 28
Gordon Gustafson Avatar answered Jan 01 '23 19:01

Gordon Gustafson