ホームページ  >  記事  >  バックエンド開発  >  PHPの継承

PHPの継承

WBOY
WBOYオリジナル
2016-06-13 13:01:55777ブラウズ

PHP クラスの継承

class Clsperson
{
?var $personID;
?var $personName;
?function Clsperson($personID,$personName)
?{
??//$this->gt;personID=$personID;
??//$this->gt;personName=$personName;
??echo "";
?}
}

$student = new ClsStudent("3234","DEXTERLESLIE","440402");
?>

?

?

?

?

?

?

?

?

?

?

?

?

非常に単純な実践例を使用して、PHP の単純なオブジェクト指向アプローチを説明することを目的としています。
実際に Web を作成する場合、 の 1 つを示しています。

/*
*参照フィールド
*参照フィールド番号、参照フィールドはプロパティを取得します
*/
class ClsRefField extends ClsField
{
?var $arrFieldProperties;
?var $openUrl;
?function ClsRefField($fieldID,$fieldName,$fieldCaption,$isEmpty,
?$validateScript,$validateFailedMessage,$openUrl)
?{
??//親クラスのコンストラクターを呼び出します
??parent::ClsField($fieldID,$fieldName,$fieldCaption,$isEmpty,
??$validateScript,$validateFailedMessage);
??$this->openUrl =$openUrl;
?}
?パブリック関数 __toString()
?{
??$strScript=<<???<スクリプト言語= javascript">
???function refOpen_{$this->fieldID}(openUrl,caption)
???{
????//window.alert("hello world") ;
????//window.alert("openUrl:"+openUrl+",caption:"+caption);
????window.open(openUrl,caption,"height=300,width =300");
???}
???
SCRIPT;
??$strInput="";
??$str="{$this->fieldCaption}: {$strInput}{$strScript}";
??return $str;
?}
}
?>
このクラス ClsRefField は ClsField を拡張し、ClsField クラスとそのコンストラクター関数 ClsRefField(…..){
parent::ClsField($fieldID,$fieldName,$fieldCaption, $) から派生します。 isEmpty,
??$validateScript,$validateFailedMessage);
} は、親クラスのコンストラクターを呼び出します。ここで、このクラスが対応する HTML コードを自動的に生成できるように、その __toString() メソッドをオーバーライドします。


呼び出し例:
Debug.php

include_once("../inc/global_fun.php");
include_once("TextField.php");
include_once("RefField.php");

$rfUserID=new ClsRefField("userID","userID","ユーザーID","false","","ユーザーIDを入力してください","../admin/class_picker.php?refFieldID=userID " );
//error($rfUserID);
echo $rfUserID;
?>

ブラウザに http://localhost/urProject/debug.php と入力すると、効果を確認できます。

?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。