Sie sind auf Seite 1von 44

Call US : 01165164822

CPD
TECHNOLOGIES

OOPS
-Concepts
in PHP
Add:- Block C 9/8, Sector-7, Rohini, Delhi
www.cpd-india.com
www.blog.cpd-110085
india.com

Topics to be covered
What is OOPS
Class & Objects
Modifier
Constructor
Deconstructor
Class Constants
Inheritance In Php
Magic Function
Polymorphism

Interfaces
Abstract Classes
Static Methods And
Properties
Accessor Methods
Determining A Object's
Class

What Is Oop ?
Object Oriented Programming (OOP) is
the programming method that involves
the use of the data , structure and
organize classes of an application. The
data structure becomes an objects that
includes both functions and data. A
relationship between one object and
other object is created by the
programmer
www.cpdindia.com

Classes
A class is a
programmer defined
datatype which include
local fuctions as well
as local data.
Like a pattern or a
blueprint a
oopsclasshas exact
specifications. The
specification is the
class' s contract.

Object
An object is a like a container
that contains methods and
properties which are require
to make a certain data types
useful. An objects methods
are what it can do and its
properties are what it knows.

Modifier

Modifier
In object oriented programming, some
Keywords are private and some are
public in class. These keyword are
known as modifier. These keywords
help you to define how these variables
and properties will be accessed by the
user of this class.

www.cpdindia.com

Modifier
Private: Properties or methods
declared as private are not allowed to
be called from outside the class.
However any method inside the same
class can access them without a
problem. In our Emailer class we have
all these properties declared as
private, so if we execute the following
code we will find an error.
www.cpdindia.com

Modifier
<?
include_once("class.emailer.php");
$emobject = new
Emailer("hasin@somewherein.net");
$emobject->subject = "Hello world";
?>
The above code upon execution gives a fatal error as shown
below:
<b>Faprivate property emailer::$subject
in <b>C:\OOP with PHP5\Codes\ch1\class.emailer.php</b>
on line
<b>43</><br />
www.cpdtal error</b>: Cannot access That means you can't
access
india.com

Modifier
Public: Any property or method which
is not explicitly declared as private or
protected is a public method. You can
access a public method from inside or
outside the class.
Protected: This is another modifier
which has a special meaning in OOP. If
any property or method is declared as
protected, you can only access the
method from its subclass. To see how a
protected method or property actually

Modifier
To start, let's open class.emailer.php file
(the Emailer class) and change the
declaration of the $sender variable.
Make it as follows:
protected $sender
Now create another file name
class.extendedemailer.php with
the
www.cpdfollowing code:
india.com

Modifier
<?
class ExtendedEmailer extends emailer
{
function __construct(){}
public function setSender($sender)
{
$this->sender = $sender;
}
}
?>
www.cpdindia.com

Constructor & Destructor

Constructor is Acclimated to Initialize


the Object.
Arguments can be taken by
constructor.
A class name has same name www.cpdas
india.com
Constructor.

Constructor & Destructor

The objects that are created in memory,


are destroyed by the destructor.
Arguments can be taken by the destructor.
Overloading is possible in destructor.
It has same name as class name with tiled
operator.

Class
Contants

Class Constants
You can make constants in your PHP
scripts utilizing the predefine keyword
to define (constant name, constant
value). At the same time to make
constants in the class you need to
utilize the const keyword. These
constants really work like static
variables, the main distinction is that
they are read-only.
www.cpdindia.com

Class Constants
<?
class WordCounter
{
const ASC=1; //you need not use $ sign before
Constants
const DESC=2;
private $words;
function __construct($filename)
{
$file_content = file_get_contents($filename);
$this->words =
(array_count_values(str_word_count(strtolower
www.cpd($file_content),1)));
india.com

Class Constants
}
public function count($order)
{
if ($order==self::ASC)
asort($this->words);
else if($order==self::DESC)
arsort($this->words);
foreach ($this->words as $key=>$val)
echo $key ." = ". $val."<br/>";
}
}
?>

www.cpdindia.com

Inheritance

Inheritance In Php
Inheritance is a well-known
programming rule, and PHP makes
utilization of this standard in its object
model. This standard will influence the
way numerous objects and classes
identify with each other.
For illustration, when you extend a
class, the subclass inherits each public
and protected method from the
guardian class. Unless a class
overrides those techniques, they
will
www.cpdhold their unique functionalityindia.com

Inheritance

Magic Functions

Magic Functions
There are some predefine function
names which you cant use in your
programme unless you have magic
functionality relate with them. These
functions are known as Magic
Functions. Magic functions have
special names which begine with two
underscores.
www.cpdindia.com

Magic Functions
_ _construct()
_
_deconstruct()
_ _call()
_ _callStatic()
_ _get()
_ _set()
_ _isset()
_ _unset()

__sleep()
__wakeup()
__tostring()
__invoke()
__ set_state()
__ clone()
__ debugInfo()
www.cpdindia.com

Magic Functions
_ _construct()
Construct function is called when
object is instantiated. Generally it is
used in php 5 for creating constructor
_ _deconstruct()
It is the opposite of construct function.
When object of a class is unset, this
function is called.
www.cpdindia.com

Magic Functions
_ _call()
When a class in a function is try to call
an accessible or inaccessible function ,
this method is called.
_ _callStatic()
It is similar to __callStatic() with only
one difference that is its triggered
when you try to call an accessible or
inaccessible function in static www.cpdcontext.
india.com

Magic Functions
_ _get()
This function is triggered when your
object try call a variable of a class
which is either unavailable or
inaccessible.
_ _set()
This function is called when we try to
change to value of a property which is
unavailable or inaccessible. www.cpdindia.com

Polymorphism

www.cpd-india.com

Polymorphism
The ability of a object, variable or
function to appear in many form is
known as polymorphism. It allows a
developer to programme in general
rather than programme in specific.
There are two types of polymorphism.
compile time polymorphism
run-time polymorphism".
www.cpdindia.com

Interfaces

Interfaces
There are some specific set of variable and
functions which can be called outside a class
itself. These are known as interfaces.
Interfaces are declared using interface
keyword.
<?
//interface.dbdriver.php
interface DBDriver
{
public function connect();
public function execute($sql);
}
?>

www.cpdindia.com

Abstract
Classes

Abstract Classes
A class which is declared using abstract
keyword is known as abstract class. An
abstract class is not implemented just
declared only (followed by semicolon
without braces)
<?
//abstract.reportgenerator.php
abstract class ReportGenerator
{
public function generateReport($resultArray)
{
//write code to process the multidimensional result array and
//generate HTML Report
}
www.cpd}
india.com
?

Static Method And


Properties

Static Methods &


Properties
In object oriented programming, static
keyword is very crucial. Static properties
and method acts as a significant element
in design pattern and application design.
To access any method or attribute in a
class you must create an instance (i.e.
using new keyword, like $object = new
emailer()), otherwise you can't access
them. But there is a difference for static
methods and properties. You can access a
static method or property directly without
creating any instance of that class. A static

Static Methods &


Properties
<?
//class.dbmanager.php
class DBManager
{
public static function getMySQLDriver()
{
//instantiate a new MySQL Driver object and
return
}
public static function getPostgreSQLDriver()
www.cpdindia.com

Static Methods &


Properties
{
//instantiate a new PostgreSQL Driver object
and return
}
public static function getSQLiteDriver()
{
//instantiate a new MySQL Driver object and
return
}
}
www.cpd?>
india.com

Accessor
Method

Accessor Method
Accessor methods are simply methods
that are solely devoted to get and set the
value of any class properties. It's a good
practice to access class properties using
accessor methods instead of directly
setting or getting their value. Though
accessor methods are the same as other
methods, there are some conventions
writing them. There are two types of
accessor methods. One is called getter,
whose purpose is returning value
www.cpdof any
india.com
class property. The other is setter
that

Accessor Method
<?
class Student
{
private $name;
private $roll;
More free ebooks : http://fast-file.blogspot.com
Chapter 2
[ 39 ]
public function setName($name)
{
$this->name= $name;
}
www.cpdindia.com

Accessor Method
public function setRoll($roll)
{
$this->roll =$roll;
}
public function getName()
{
return $this->name;
}
public function getRoll()
{
return $this->roll;
}
}
?>

www.cpdindia.com

Determining A Object's
Class
public function setRoll($roll)
{
$this->roll =$roll;
}
public function getName()
{
return $this->name;
}
public function getRoll()
{
return $this->roll;
}
}
?>

www.cpdindia.com

CPD TECHNOLOGIES
Block C 9/8, Sector-7, Rohini, Delhi
-110085 support@cpd-india.com

Das könnte Ihnen auch gefallen