1 / 29

Object oreinted php | OOPs

This presentation will give you the comprehensive description of object-oriented PHP. For more tips visit https://www.admecindia.co.in/

AdmecPage
Download Presentation

Object oreinted php | OOPs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Presentation by ADMEC Multimedia Institute & Web Development Institute (WDI) Delhi Twitter: @admecinstitute www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  2.  The purpose of this PHP presentation is to explain Object Oriented PHP in brief.  This PHP presentation can help a PHP programmer in understanding the terms and terminologies used in practical object oriented PHP.  Frameworks of PHP like CodeIgniter, CakePHP, Symphony, Zend etc are MVC based and knowledge of Object Oriented PHP will help in understanding all them. www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  3.  Basics of OOP in PHP  Object & Classes in OOP  Magic Function in PHP OOP  Inheritance (Extending a class)  Visibility (public, private, protected)  Abstract Classes in PHP  Static Methods and properties in PHP  Interfaces in PHP  Explaining PHP Class Functions  Describing Autoload in PHP www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  4.  PHP is a scripting language  Specially a Procedural Programming  Not a true OO Programming  It supports few OO features  Full OOP Support added as of PHP5

  5.  It is Object Oriented Programming method of coding.  Allow developer to group multiple similar tasks into classes.  The main aim of OOP is to not repeat the similar code again and again.  With OOP, it is easy to maintain the structure of application and organizing the data  OOP provide simplicity to the complex applications code. www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  6.  Code organization and maintainability  Add clarity  Reduce complexity  Simple rules allow complex interactions  Emphasizes data over procedure  Code modularity or refactoring  Code reusability  Well-suited for databases

  7.  It depends  My PHP OOP rule of thumb ◦ For a simple site, OOP adds unnecessary complexity ◦ For a complex site, OOP adds necessary simplicity

  8. Concept of classes & objects can be explained with these two images: A class, for example, is like a blueprint for a house paper, with relationships between the different parts of the house clearly defined and planned out, even though the house doesn't exist. An object, then, is like the actual house according to that blueprint. The data stored in the object is like the wood, wires, and concrete that compose the house: without being assembled according to the blueprint, it's just a pile of stuff. However, when it all comes together, it becomes an organized, useful house. a blueprint for a  house. It defines the shape of the house on the actual house built  www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  9. In PHP class is created using class following example class keyword as shown in the class { { class myOwnClass //variables of the class var $variable1; var $variable2; //Function of class function mergeVariable() { return $this->variable1 . $this->variable2; } } } www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  10. There is no use of classes without objects. Object is representative of your class. If created a class then you must need to create object of the class to solve your problem using class. You can create object of your class by using new new keyword. $objClass = new myClass(); $objClass = new myClass(); Now in above code you are creating object of class myClass in variable $objClass. You can create multiple object of your same class. Every object is different from other. $objClass1 = new myClass(); $objClass2 = new myClass(); $objClass1 = new myClass(); $objClass2 = new myClass(); www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  11. Magic methods in php are some predefined function compiler which executes on some event prefix __, for example __call, __get, __set. some predefined function by php by php compiler which executes on some event. Magic methods starts with List of Magic Functions in PHP List of Magic Functions in PHP This magic methods is called when someone create object of your class. Usually this is used for creating constructor in php5. __construct This magic method is called when object of your class is unset. This is just opposite of __construct. __destruct www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  12. This method called when your object attempt to read property or variable of the class which is inaccessible or unavailable. __get This method called when object of your class attempts to set value of the property which is really inaccessible or unavailable in your class. __set This magic methods trigger when isset() function is applied on any property of the class which is inaccessible or unavailable. __isset __unset is something opposite of isset method. This method triggers when unset() unavailable property of the class. __unset unset() function called on inaccessible or www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  13. __call magic method trigger when you are attempting to call method or function of the class which is either inaccessible or unavailable. __call __callstatic execture when inaccessible or unavailable method is in static context. __callstatic __sleep methods trigger when you are going to serialize your class object. __sleep __wakeup executes when you are un serializing any class object. __wakeup www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  14. There are 3 type of visibility available in PHP for controlling your property or method.  Public anywhere. I mean from inside the class, out side the class and in child(will discuss in next chapter) class also. Public: Public method or variable can be accessible from  Private accessible inside the class. You can not access private method or variable from outside of your class. Private: Method or property with private visibility can only be  Protected only be access in the derived class. Or in other word in child class. Protected will be used in the process of inheritance. Protected: Method or variable with protected visibility can www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  15.  The abstract classes and methods of minimum required methods which must be defined in normal sub-classes derived from an abstract class (with extends). abstract classes and methods are used to create a model  An abstract class is created with the abstract abstract keyword.  An abstract class cannot be instantiated, can only be inherited by other sub-classes extended from it.  The abstract methods and cannot have an implementation, they simply declare the method's signature. abstract public function method Name($arguments); abstract methods are declared with the abstract abstract keyword, www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  16. In this example is created an abstract class with a property ($name), an abstract method ( greetName() ) and a normal method ( setName() ). <?php // AbstractClass class abstract class AbstractClass { protected $name; // declare an abstract method abstract public function greetName($greet); // define a normal method public function setName($name) { $this->name = $name; // sets the value of $name property } } ?> www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  17.  Static methods and properties in php is very useful feature. Static methods and properties in php can directly accessible without creating object of class.  Your php class will be static class if your all methods and properties of the class is static.  Static Methods and Properties in PHP will be treated as public  Static properties of class is a property which is directly accessible from class with the help of :: ::(scope resolution operator). You can declare static property using static keyword.  treated as public if no visibility is defined. static www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  18.  You can define a common structure for your classes using interfaces An Interface is like a template similar to abstract class with a difference where it uses only abstract methods.  In simple words, an interface is like a class using interface keyword and contains only function declarations(function with no body).  An Interface should be implemented in the class and all the methods or functions should be overridden in this class.  It is the place where we can define the function. When a class use that interface in that class the total function body part will describe. after that we can call that function in other class and we are get result. interfaces.  www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  19. Example of interface: Example of interface:  interface InterfaceName{ function fun1(); function fun2(a,b); } class ClassName implements InterfaceName{ fuction fun1(){ function implementation....... } fuction fun2(a,b){ function implementation....... } } www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  20. For interface all the methods by default are abstract methods only. So one cannot declare variables or concrete methods in interfaces. For abstract class a method must be declared as abstract. Abstract methods doesn’t have any implementation.  All methods declared in an interface must be public. The Abstract methods can declare with Access modifiers like public, internal, protected. When implementing in subclass these methods must be defined with the same (or a less restricted) visibility.  Interfaces cannot contain variables and concrete methods except constants. Abstract class can contain variables and concrete methods.  A class can implement many interfaces and Multiple interface inheritance is possible. A class can Inherit only one Abstract class and Multiple inheritance is not possible for Abstract class.  www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  21. PHP has available several class functions to help you through the OOP mine field.  get_declared_interfaces()  class_exists()  get_class()  get_declared_classes()  Each of these is shown here beginning with the get_declared_interfaces(). www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  22. get_declared_interfaces() get_declared_interfaces() following function provides an array of all the available declared interfaces. <?php interface fax{ public function dial(); public function send(); public function recieve(); } interface printer{ public function printBlack(); public function printColor(); public function printDraft(); public function kick(); } /*** our interface implementation ***/ class printerFax implements fax, printer{ public function dial(){ } public function send(){ } public function recieve(){ } www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  23. public function printBlack(){ } public function printColor(){ } public function printDraft(){ } public function kick(){ } } /*** create and printerfax object ***/ $object = new printerFax; /*** get the declared interfaces ***/ foreach(get_declared_interfaces() as $key=>$interface) { echo $key.' =&gt; '.$interface.'<br />'; } ?> www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  24.  get_class()  class_exists()  get_declared_classes <?php /*** a pretend class ***/ class fax{ public function dial(){ } public function send(){ } public function recieve(){ } } /*** another pretend class ***/ class printer{ public function printBlack(){ } public function printColor(){ } public function printDraft(){ } public function kick(){ } } www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  25. /*** create an instance of the fax class ***/ $foo = new fax; /*** create an instance of the printer class ***/ $bar = new printer; echo '$foo is from the ' get_class($foo).' class<br />'; echo class_exists("printer").'<br />'; echo 'Declared classes are:<br /> '; foreach(get_declared_classes() as $key=>$classname) { echo $key.' -&gt; '.$classname.'<br />'; } ?> www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  26.  Many developers writing object-oriented applications create one PHP source file per class definition. One of the biggest annoyances is having to write a long list of needed includes at the beginning of each script (one for each class).  In PHP 5, this is no longer necessary. You may define an __autoload() function which is automatically called in case you are trying to use a class/interface which hasn't been defined yet. By calling this function the scripting engine is given a last chance to load the class before PHP fails with an error. www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  27. <?php /*** include our class definitions ***/ include('classes/vehicle.class.php'); include('classes/motorcycle.class.php'); include('classes/printer.class.php'); include('classes/printer.class.php'); /*** instantiate a new vehicle class object ***/ $vehicle = new vehicle; *** instantiate a new motorcycle class object ***/ $bike = new motorcycle; *** instantiate a new printer class object ***/ $printer = new printer; *** instantiate a new fax class object ***/ $fax = new fax; ?> www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  28. With __autoload() the above code can be reduce to following <?php /*** Autoload class files ***/ function __autoload($class){ require('classes/' . strtolower($class) . '.class.php'); } /*** instantiate a new vehicle class object ***/ $vehicle = new vehicle; /*** instantiate a new motorcycle class object ***/ $bike = new motorcycle; /*** instantiate a new printer class object ***/ $printer = new printer; /*** instantiate a new fax class object ***/ $fax = new fax; ?> www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

  29. ADMEC Multimedia Institute For more info you can visit www.admecindia.co.in and www.web-development-institute.com For course related enquiry, ring us at: 9811-81-81-22, 011-3203-5055 ADMEC Multimedia Institute Created by: Parul Sabal Guided by: Ravi Bhadauria www.admecindia.co.in development- -institute.com www.admecindia.co.in institute.com www.web www.web- -development

More Related