ホームページ  >  記事  >  バックエンド開発  >  php メンバーにはいくつかの種類があります

php メンバーにはいくつかの種類があります

青灯夜游
青灯夜游オリジナル
2023-02-27 09:55:163779ブラウズ

PHP メンバーには 3 つのタイプがあります: 1. クラス内にデータを格納するために使用される、クラス内で定義された変数であるメンバー属性 (クラス属性); 2. クラス内で定義された関数であるメンバー メソッドclass 、イベントを解決するためにオブジェクトに提供されます; 3. クラス定数はクラス内で定義された定数であり、 const キーワードを使用して定義されます。

php メンバーにはいくつかの種類があります

#このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

1. コンセプト

クラス メンバーは、クラス内で定義された一連のデータを指し、クラスの第 1 レベルのメンバーに直接依存します。クラス メンバーには、メンバー属性、メンバー メソッド、クラス定数が含まれます。

  • メンバー属性 (クラス属性): クラスで定義された変数。クラスにデータを保存するために使用されます。

  • メンバー メソッド: つまり関数クラスで定義された情報は、イベントを解決するためにオブジェクトに提供されます。

  • クラス定数: クラスで定義される定数は、const キーワードを使用して定義されます。

プロパティとメソッドは、アクセス時にアクセス修飾子を使用して変更する必要があります。

構文:

class 类名{
 
        public $成员属性名[=成员属性值]; //成员属性可以只定义而不赋值,放在之后赋值。 
        [public] function 成员方法名(){
                   ... 
                 } 
        const 常量名=值; 
 
}

クラスのメンバ属性は、値を代入せずに定義することもでき、状況に応じて後続の論理演算で値を代入することもできますが、次のように変更する必要があります。アクセス制限修飾子とメンバメソッドのアクセス制限です。修飾子は省略可能です。省略した場合はデフォルトで public になります。修飾子については後で詳しく説明します。

#2. 実装手順

クラス メンバーを実装する手順には、ビジネス ロジック分析も必要です。一般的な手順は次のとおりです。

#クラス構造の宣言


    クラスがデータを保存する必要があるかどうかを分析して、メンバー属性を定義するかどうか、または定義するメンバー属性の数を決定します
  • Analysis クラス メンバー メソッドを定義するかどうかを決定するために何かを行うかどうか。
  • 定数を定義する必要があるかどうかを分析する
  • オブジェクトのインスタンス化
  • オブジェクトを介してクラス メンバーを呼び出す
  • 例: ニュース投稿を分析するためのクラスの簡単な例
  • ニュース投稿を実装するには、まずクラス構造を宣言する必要があります:

    class devote{ }
  • 次に、データを保存する必要があるかどうかを分析します。ニュースを投稿するときにデータを保存する必要があることは明らかです。まず、ニュースのタイトルとニュースの内容を保存し、次にニックネーム、電子メール アドレス、携帯電話番号などの投稿者の情報を保存する必要があります。 。

これらのデータはメンバー属性を通じて保存されます:

class devote{
        public $nickname="投稿人";
        public $title="新闻标题";
        public $content="投稿内容";
        public $email="邮箱";
        public $phone="手机号"; 
}

次に、操作を実行する必要があるかどうかを分析します。ニュースを送信するには、まずニュース コンテンツをフィルターし、不適切な単語をブロックしてから送信する必要がありますデータベースに保存して下書きを保存します。

class devote{
        public $nickname="投稿人";
        public $content="投稿内容";
        public $email="邮箱";
        public $phone="手机号";
        function clear($content){
                 //过滤新闻内容 
        }
        function input(){
         //提交到数据库 
        } 
}

クラス定数は必要ですか?当面は必要ありません。次のステップでは、クラスをインスタンス化し、オブジェクトを通じてメンバーを呼び出して関数を実装します。

$devote=new devote();
//实例化对象 
$devote->nickname="小杜"; 
$devote->title="一件大事"; 
$devote->content="我手机没电了"; 
$devote->email="2811051813@qq.com"; 
$devote->phone="就不告诉你"; 
$devote->clear($devote->content); 
$devote->input(); 
//通过调用成员实现业务

クラス メンバーの呼び出しに関しては、-> リンクを使用します。上の例に示すように、クラス属性を呼び出すための構文は次のとおりです:

$Object - >属性名;


注意: 属性名を呼び出すときに $ 記号を追加する必要はありません。呼び出し時には、それらは統合されます。ただし、属性を定義する場合は、変数の定義を示す $ 記号が必要です。

属性を呼び出すと現在の属性の値が取得され、それに値を割り当てるとその値が変更されます。上記のように、title 属性を直接呼び出した場合、取得される値は「ニュース タイトル」です。再度値が割り当てられると、この値は変更されます タイトルの値は重要です 属性が再割り当てされた場合、クラス属性は実際にはクラス属性であるため、次に属性を使用して取得された値が後で割り当てられる内容になります変数。 再割り当ては次と同等です:

$devote->title="一件大事"; 
//等同于: 
public $title="一件大事";

Call classメソッド:

$Object->メソッド名(パラメータ)

クラス定数の呼び出しは静的呼び出しです。これについては後で詳しく説明します。

オブジェクトを印刷することで、上記の内容を視覚的に表示できます:

class devote{
        public $nickname="投稿人"; 
        public $content="投稿内容"; 
        public $email="邮箱"; 
        public $phone="手机号"; 
        function clear($content){
         //过滤新闻内容 
        } 
        function input(){
         //提交到数据库 
        } 
} 
 
$devote=new devote(); 
var_dump($devote); 
//object(devote)#1 (4) { ["nickname"]=> string(9) "投稿人" ["content"]=> string(12) "投稿内容" ["email"]=> string(6) "邮箱" ["phone"]=> string(9) "手机号" }

自分でテストしてみると、メンバー属性の値がデフォルトであることがわかります。値を割り当てて、オブジェクトを出力します。

$devote->nickname="小杜"; 
$devote->title="一件大事"; 
$devote->content="我手机没电了"; 
$devote->email="2811051813@qq.com"; 
$devote->phone="就不告诉你"; 
$devote->clear($devote->content); 
$devote->input(); 
var_dump($devote);

class 属性の値が変更されていることがわかります。


3. メンバーの操作

上の例には、すでにメンバーの操作 (メンバー属性へのアクセスとメンバー属性の変更) が含まれています。要素属性の基本的な操作は追加です。 、削除、変更、チェック。チェックと変更は上で説明しました。属性追加の操作を参照してください:

メンバー属性を追加するには、オブジェクトの直後に存在しないメンバー属性を呼び出して、値:
$devote->id=1; 
/*
 打印结果: object(devote)#1 (6) { ["nickname"]=> string(6) "小杜" ["content"]=> string(18) "我手机没电了" ["email"]=> string(17) "2811051813@qq.com" ["phone"]=> string(15) "就不告诉你" ["title"]=> string(12) "一件大事" ["id"]=> int(1) } 
*/
上記を実行します。 操作後、新しい属性 ID がクラスに追加され、値 1 が割り当てられます。この値は、後でオブジェクトを通じて直接アクセスすることもできます:

echo $devote->id; //输出1

存在しない属性を直接呼び出してもエラーは報告されませんが、値は NULL です。

var_dump($devote->ids); //NULL

unset メソッドを使用してクラス属性を削除します:

unset($devote->id); 
var_dump($devote->id); 
//NULL

オブジェクトを通じて操作されるクラス属性は、現在のオブジェクトでのみ有効になります:

$devote->age=18; 
$dv=new devote(); 
var_dump($dv); 
//object(devote)#2 (4) { ["nickname"]=> string(9) "投稿人" ["content"]=> string(12) "投稿内容" ["email"]=> string(6) "邮箱" ["phone"]=> string(9) "手机号" }

メソッド操作で呼び出せる操作は 1 つだけですつまり、クラスのメンバー メソッドはオブジェクトを通じてのみ呼び出すことができます。

$devote->input();

注: クラス メンバーはクラス内で無制限に定義できますが、クラスにはクラス属性、クラス メソッド、およびクラス メソッドのみを含めることができます。クラス定数。他のすべての構文はクラス内に記述することはできません。

class Test{
        echo 1234; 
        var_dump("错误"); 
        if($a==1){ echo "True"; } 
} 
//syntax error, unexpected 'echo' (T_ECHO), expecting function (T_FUNCTION) or const (T_CONST)

推奨学習: 「

PHP ビデオ チュートリアル

以上がphp メンバーにはいくつかの種類がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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