<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FClass%2FClass_Definition</id>
		<title>PHP/Class/Class Definition - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FClass%2FClass_Definition"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/Class/Class_Definition&amp;action=history"/>
		<updated>2026-04-05T10:33:20Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/Class/Class_Definition&amp;diff=54&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/Class/Class_Definition&amp;diff=54&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/Class/Class_Definition&amp;diff=55&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/Class/Class_Definition&amp;diff=55&amp;oldid=prev"/>
				<updated>2010-05-26T07:00:45Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A Basic PHP 4 Class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    class myPHP4Class {&lt;br /&gt;
        var $my_variable;&lt;br /&gt;
        function my_method($param) {&lt;br /&gt;
            echo &amp;quot;my_method($param)!\n&amp;quot;;&lt;br /&gt;
            echo &amp;quot;my variable is: &amp;quot;;&lt;br /&gt;
            echo &amp;quot;{$this-&amp;gt;my_variable}\n&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
     $myinstance = new myPHP4Class();&lt;br /&gt;
     $anotherinstance = new myPHP4Class();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==A Basic PHP 5 Class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
     class myPHP5Class {&lt;br /&gt;
          public $my_variable;&lt;br /&gt;
          public function my_method($param) {&lt;br /&gt;
               echo &amp;quot;called my_method($param)!\n&amp;quot;;&lt;br /&gt;
               echo &amp;quot;my variable is: &amp;quot;;&lt;br /&gt;
               echo &amp;quot;{$this-&amp;gt;my_variable}\n&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==A class is a collection of variables and functions working with these variables.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Cart {&lt;br /&gt;
    var $items; &lt;br /&gt;
    &lt;br /&gt;
    function add_item ($artnr, $num) {&lt;br /&gt;
        $this-&amp;gt;items[$artnr] += $num;&lt;br /&gt;
    }&lt;br /&gt;
    function remove_item ($artnr, $num) {&lt;br /&gt;
        if ($this-&amp;gt;items[$artnr] &amp;gt; $num) {&lt;br /&gt;
            $this-&amp;gt;items[$artnr] -= $num;&lt;br /&gt;
            return true;&lt;br /&gt;
        } else {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class Named_Cart extends Cart {&lt;br /&gt;
    var $owner;&lt;br /&gt;
    function set_owner ($name) {&lt;br /&gt;
        $this-&amp;gt;owner = $name;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$ncart = new Named_Cart; &lt;br /&gt;
$ncart-&amp;gt;set_owner (&amp;quot;kris&amp;quot;); &lt;br /&gt;
print $ncart-&amp;gt;owner; &lt;br /&gt;
$ncart-&amp;gt;add_item (&amp;quot;10&amp;quot;, 1); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aggregating an address object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
class Address {&lt;br /&gt;
    protected $city;&lt;br /&gt;
    public function setCity($city) {&lt;br /&gt;
        $this-&amp;gt;city = $city;&lt;br /&gt;
    }&lt;br /&gt;
        &lt;br /&gt;
    public function getCity() {&lt;br /&gt;
        return $this-&amp;gt;city;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class Person {&lt;br /&gt;
    protected $name;&lt;br /&gt;
    protected $address;&lt;br /&gt;
    public function __construct() {&lt;br /&gt;
        $this-&amp;gt;address = new Address;&lt;br /&gt;
    }&lt;br /&gt;
    public function setName($name) {&lt;br /&gt;
        $this-&amp;gt;name = $name;&lt;br /&gt;
    }&lt;br /&gt;
    public function getName() {&lt;br /&gt;
        return $this-&amp;gt;name;&lt;br /&gt;
    }&lt;br /&gt;
    public function __call($method, $arguments) {&lt;br /&gt;
        if (method_exists($this-&amp;gt;address, $method)) {&lt;br /&gt;
            return call_user_func_array(&lt;br /&gt;
                array($this-&amp;gt;address, $method), $arguments);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Basic Object Accessing==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    class myPHP4Class {&lt;br /&gt;
        var $my_variable;&lt;br /&gt;
        function my_method($param) {&lt;br /&gt;
            echo &amp;quot;my_method($param)!\n&amp;quot;;&lt;br /&gt;
            echo &amp;quot;my variable is: &amp;quot;;&lt;br /&gt;
            echo &amp;quot;{$this-&amp;gt;my_variable}\n&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
     $myinstance = new myPHP4Class();&lt;br /&gt;
     $anotherinstance = new myPHP4class();&lt;br /&gt;
     $myinstance-&amp;gt;my_variable = 10;&lt;br /&gt;
     $anotherinstance-&amp;gt;my_variable = 20;&lt;br /&gt;
     $myinstance-&amp;gt;my_method(&amp;quot;MyParam&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bird class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
class Bird { &lt;br /&gt;
    function __construct($name, $breed){ &lt;br /&gt;
        $this-&amp;gt;name = $name; &lt;br /&gt;
        $this-&amp;gt;breed = $breed; &lt;br /&gt;
    } &lt;br /&gt;
} &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==book class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    class book&lt;br /&gt;
    {&lt;br /&gt;
        private $title;&lt;br /&gt;
        private $isbn;&lt;br /&gt;
        private $copies;&lt;br /&gt;
        public function __construct($isbn)&lt;br /&gt;
        {&lt;br /&gt;
            $this-&amp;gt;setIsbn($isbn);&lt;br /&gt;
            $this-&amp;gt;getTitle();&lt;br /&gt;
            $this-&amp;gt;getNumberCopies();&lt;br /&gt;
        }&lt;br /&gt;
        public function setIsbn($isbn)&lt;br /&gt;
        {&lt;br /&gt;
            $this-&amp;gt;isbn = $isbn;&lt;br /&gt;
        }&lt;br /&gt;
        public function getTitle() {&lt;br /&gt;
            $this-&amp;gt;title = &amp;quot;Python&amp;quot;;&lt;br /&gt;
            print &amp;quot;Title: &amp;quot;.$this-&amp;gt;title.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        public function getNumberCopies() {&lt;br /&gt;
            $this-&amp;gt;copies = &amp;quot;5&amp;quot;;&lt;br /&gt;
            print &amp;quot;Number copies available: &amp;quot;.$this-&amp;gt;copies.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    $book = new book(&amp;quot;11111111X&amp;quot;);&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Class Type Hints==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    class Dog {&lt;br /&gt;
            public function do_drool( ) {&lt;br /&gt;
                    echo &amp;quot;Sluuuuurp\n&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
    class Cat { }&lt;br /&gt;
    function drool(Dog $some_dog) {&lt;br /&gt;
            $some_dog-&amp;gt;do_drool( );&lt;br /&gt;
    }&lt;br /&gt;
    $poppy = new Dog( );&lt;br /&gt;
    drool($poppy);&lt;br /&gt;
    &lt;br /&gt;
    $poppy = new Cat( );&lt;br /&gt;
    drool($poppy);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Empty class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class StringThing {}&lt;br /&gt;
$st = new StringThing();&lt;br /&gt;
print $st;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementing a Simple Class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class SimpleClass {&lt;br /&gt;
    public $data;&lt;br /&gt;
    public function echoMyData() {&lt;br /&gt;
        echo $this-&amp;gt;data;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
$sc_object = new SimpleClass();&lt;br /&gt;
$sc_object-&amp;gt;data = &amp;quot;Hello, world! &amp;quot;;&lt;br /&gt;
$another_object = new SimpleClass();&lt;br /&gt;
$another_object-&amp;gt;data = &amp;quot;Goodbye, world! &amp;quot;;&lt;br /&gt;
$sc_object-&amp;gt;echoMyData();&lt;br /&gt;
$another_object-&amp;gt;echoMyData();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Person class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
class Person {&lt;br /&gt;
    public $name;&lt;br /&gt;
    protected $spouse;&lt;br /&gt;
    private $password;&lt;br /&gt;
    &lt;br /&gt;
    public function __construct($name) {&lt;br /&gt;
        $this-&amp;gt;name = $name&lt;br /&gt;
    }&lt;br /&gt;
    public function getName() {&lt;br /&gt;
        return $name;&lt;br /&gt;
    }&lt;br /&gt;
    protected function setSpouse(Person $spouse) {&lt;br /&gt;
        if (!isset($this-&amp;gt;spouse)) { &lt;br /&gt;
            $this-&amp;gt;spouse = $spouse;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private function setPassword($password) {&lt;br /&gt;
        $this-&amp;gt;password = $password;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PHP class declaration structure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
class Class_name {&lt;br /&gt;
     var $attribute_1;&lt;br /&gt;
     var $attribute_N;&lt;br /&gt;
     function function1() {&lt;br /&gt;
     }&lt;br /&gt;
     function functionN() {&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pre-defined methods==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
__construct() is called when a new instance of the class is created. &lt;br /&gt;
__destroy() is called when an instance of the class passes out of memory (calling unset()). &lt;br /&gt;
__autoload() is called when you refer to a class for the first time. &lt;br /&gt;
__clone() is called when you copy the object using the clone keyword. &lt;br /&gt;
__get() and __set() are called when you get or set an object property that is not defined. &lt;br /&gt;
__get() takes a single parameter, the name of the property; &lt;br /&gt;
__set() takes two parameters: the name of the property and the value. &lt;br /&gt;
__call() is called when you try to call an undefined method. &lt;br /&gt;
__call() takes two arguments: the method name that was used and an array containing any values that were passed to the method. &lt;br /&gt;
__sleep() and __wakeup: __sleep() is called when you try to serialize() an object. &lt;br /&gt;
__wakeup() is called when you unserialize() an object. &lt;br /&gt;
__toString() is called when a string representation of the object is required.&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using an aggregated class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
class Address { &lt;br /&gt;
  protected $city;&lt;br /&gt;
  protected $country;&lt;br /&gt;
 &lt;br /&gt;
  public function setCity($city) { $this-&amp;gt;city = $city; }&lt;br /&gt;
  public function getCity() { return $this-&amp;gt;city; } &lt;br /&gt;
  public function setCountry($country) { $this-&amp;gt;country = $country; }&lt;br /&gt;
  public function getCountry() { return $this-&amp;gt; country;}&lt;br /&gt;
}&lt;br /&gt;
class Person {&lt;br /&gt;
 protected $name;&lt;br /&gt;
 protected $address;&lt;br /&gt;
 public function __construct() { $this-&amp;gt;address = new Address; }&lt;br /&gt;
 public function setName($name) { $this-&amp;gt;name = $name; }&lt;br /&gt;
 public function getName() { return $this-&amp;gt;name; }&lt;br /&gt;
 public function __call($method, $arguments) { &lt;br /&gt;
  if (method_exists($this-&amp;gt;address, $method)) { &lt;br /&gt;
   return call_user_func_array( array($this-&amp;gt;address, $method), $arguments);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>