1--TEST-- 2Classes general test 3--FILE-- 4<?php 5 6/* pretty nifty object oriented code! */ 7 8class user { 9 public $first_name,$family_name,$address,$phone_num; 10 function display() 11 { 12 echo "User information\n"; 13 echo "----------------\n\n"; 14 echo "First name:\t ".$this->first_name."\n"; 15 echo "Family name:\t ".$this->family_name."\n"; 16 echo "Address:\t ".$this->address."\n"; 17 echo "Phone:\t\t ".$this->phone_num."\n"; 18 echo "\n\n"; 19 } 20 function initialize($first_name,$family_name,$address,$phone_num) 21 { 22 $this->first_name = $first_name; 23 $this->family_name = $family_name; 24 $this->address = $address; 25 $this->phone_num = $phone_num; 26 } 27}; 28 29 30function test($u) 31{ /* one can pass classes as arguments */ 32 $u->display(); 33 $t = $u; 34 $t->address = "New address..."; 35 return $t; /* and also return them as return values */ 36} 37 38$user1 = new user; 39$user2 = new user; 40 41$user1->initialize("Zeev","Suraski","Ben Gourion 3, Kiryat Bialik, Israel","+972-4-8713139"); 42$user2->initialize("Andi","Gutmans","Haifa, Israel","+972-4-8231621"); 43$user1->display(); 44$user2->display(); 45 46$tmp = test($user2); 47$tmp->display(); 48 49?> 50--EXPECT-- 51User information 52---------------- 53 54First name: Zeev 55Family name: Suraski 56Address: Ben Gourion 3, Kiryat Bialik, Israel 57Phone: +972-4-8713139 58 59 60User information 61---------------- 62 63First name: Andi 64Family name: Gutmans 65Address: Haifa, Israel 66Phone: +972-4-8231621 67 68 69User information 70---------------- 71 72First name: Andi 73Family name: Gutmans 74Address: Haifa, Israel 75Phone: +972-4-8231621 76 77 78User information 79---------------- 80 81First name: Andi 82Family name: Gutmans 83Address: New address... 84Phone: +972-4-8231621 85