|
Geschrieben von Bernhard Fischer
|
|
|
Objektvererbung ist ein grundlegendes Prinzip in der objekt-orientierten Programmierung. In diesem fiktiven PHP Beispiel wird ein Objekt regular_user an ein Objekt admin_user vererbt und erweitert dieses.
Die Objekt-Eigenschaften username und useraddress werden durch eine Abfrage aus einer MySQL Tabelle usertable mit dem Parameter userid gelesen. [click to collapse source code]
<?php
mysql_connect("localhost");
mysql_select_db("mydb");
/* we fetch 2 users from the database: users with userid 1 and 2 */
$user = new regular_user;
$user->getuser(1);
$user->showuser();
$user = new admin_user;
$user->getuser(2);
$user->showuser();
class regular_user{
var $username;
var $useraddress;
/* fill user properties */
function getuser($id) {
$result = mysql_query ("SELECT * FROM usertable WHERE userid=$id");
if($row = mysql_fetch_array($result)) {
$this->username = $row["username"];
$this->useraddress = $row["useraddress"];
} else {
$this->username = "unknown";
$this->useraddress = "unknown";
}
}
/* show user information */
function showuser() {
print("User info<br>");
print("Username: ".$this->username."<br>");
print("Address: ".$this->useraddress."<br>");
}
}
/* inherited admin_user */
class admin_user extends regular_user {
function edit_address() {
print('<form method="post" action="processing.php">Address: <input type="text" name="useraddress"
value="'.$this->useraddress.'"></form>');
}
}
mysql_close();
?>
%0A%3C%3Fphp%0Amysql_connect%28%22localhost%22%29%3B%0Amysql_select_db%28%22mydb%22%29%3B%0A%0A%2F%2A%20we%20fetch%202%20users%20from%20the%20database%3A%20users%20with%20userid%201%20and%202%20%2A%2F%0A%24user%20%3D%20new%20regular_user%3B%0A%24user-%3Egetuser%281%29%3B%0A%24user-%3Eshowuser%28%29%3B%0A%0A%24user%20%3D%20new%20admin_user%3B%0A%24user-%3Egetuser%282%29%3B%0A%24user-%3Eshowuser%28%29%3B%0A%0Aclass%20regular_user%7B%0A%20%20%20%20var%20%24username%3B%0A%20%20%20%20var%20%24useraddress%3B%0A%2F%2A%20fill%20user%20properties%20%2A%2F%0A%20%20%20%20function%20getuser%28%24id%29%20%7B%0A%20%20%20%20%20%20%20%20%24result%20%3D%20mysql_query%20%28%22SELECT%20%2A%20FROM%20usertable%20WHERE%20userid%3D%24id%22%29%3B%0A%20%20%20%20%20%20%20%20if%28%24row%20%3D%20mysql_fetch_array%28%24result%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24this-%3Eusername%20%3D%20%24row%5B%22username%22%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24this-%3Euseraddress%20%3D%20%24row%5B%22useraddress%22%5D%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24this-%3Eusername%20%3D%20%22unknown%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24this-%3Euseraddress%20%3D%20%22unknown%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%2F%2A%20show%20user%20information%20%2A%2F%0A%20%20%20%20function%20showuser%28%29%20%7B%0A%20%20%20%20%20%20%20%20print%28%22User%20info%3Cbr%3E%22%29%3B%0A%20%20%20%20%20%20%20%20print%28%22Username%3A%20%22.%24this-%3Eusername.%22%3Cbr%3E%22%29%3B%0A%20%20%20%20%20%20%20%20print%28%22Address%3A%20%22.%24this-%3Euseraddress.%22%3Cbr%3E%22%29%3B%0A%20%20%20%20%7D%0A%7D%0A%0A%2F%2A%20inherited%20admin_user%20%2A%2F%0Aclass%20admin_user%20extends%20regular_user%20%7B%0A%20%20%20%20function%20edit_address%28%29%20%7B%0A%20%20%20%20%20%20%20%20print%28%27%3Cform%20method%3D%22post%22%20action%3D%22processing.php%22%3EAddress%3A%20%3Cinput%20type%3D%22text%22%20name%3D%22useraddress%22%0A%20%20%20%20%20%20%20%20%20%20%20%20value%3D%22%27.%24this-%3Euseraddress.%27%22%3E%3C%2Fform%3E%27%29%3B%0A%20%20%20%20%7D%0A%7D%0A%0Amysql_close%28%29%3B%20%20%20%20%0A%3F%3E%0A%0A
Zu Favoriten hinzufügen (0) | Artikel zitieren | Aufgerufen: 3018
Powered by AkoComment Tweaked Special Edition v.1.4.6 AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com All right reserved |