Thursday, May 12, 2011

Class in PHP

more info.. http://evergreenphp.blogspot.com

Class
Every class definition begins with the keyword class, followed by a class name, followed by a pair of
curly braces which enclose the definitions of the class's properties and methods.
The class name can be any valid label which is a not a PHP reserved word. A valid class name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.
A class may contain its own constants, variables (called "properties"), and functions (called
"methods").
var;
}
}?>
The pseudo-variable$this is available when a method is called from within an object context.$this is a
reference to the calling object (usually the object to which the method belongs, but possibly another
object, if the method is calleds tatic ally from the context of a secondary object).
foo();
// Note: the next line will issue a warning if E_STRICT is enabled.
A::foo();
$b = new B();
$b->bar();
// Note: the next line will issue a warning if E_STRICT is enabled.
B::bar();
?>
New
To create an instance of a class, a new object must be created and assigned to a variable. An object will
always be assigned when creating a new object unless the object has a constructor defined that throws
an exception on error. Classes should be defined before instantiation (and in some cases this is a
requirement).
In the class context, it is possible to create a new object by new self and new parent.
When assigning an already created instance of a class to a new variable, the new variable will access
the same instance as the object that was assigned. This behaviour is the same when passing instances to
a function. A copy of an already created object can be made by cloning it.
var = '$assigned will have this value';
$instance= null; // $instance and $reference become null
var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>
Extends
A class can inherit the methods and properties of another class by using the keyword extends in the class declaration. It is not possible to extend multiple classes; a class can only inherit from one base class.
The inherited methods and properties can be overridden by redeclaring them with the same name
defined in the parent class. However, if the parent class has defined a method as final, that method may
not be overridden. It is possible to access the overridden methods or static properties by referencing
them with parent::
displayVar();
?>

No comments: