ホームページ >バックエンド開発 >PHPの問題 >PHPコンストラクターの書き方

PHPコンストラクターの書き方

青灯夜游
青灯夜游オリジナル
2021-09-29 19:30:202642ブラウズ

PHP では、コンストラクターはクラス内の特別な関数です。具体的な記述方法は「public function __construct (parameter list) {...code...}」です。パラメーター リストはオプションです。必要ない場合は省略してください。

PHPコンストラクターの書き方

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

Constructor メソッド (コンストラクター メソッドとも呼ばれます)コンストラクター Constructor) はクラス内の特別な関数であり、new キーワードを使用してオブジェクトがインスタンス化されると、コンストラクターが自動的に呼び出されます。

PHP3.0 および PHP4.0 では、コンストラクターは、それが配置されているクラスと同じ名前の関数です。 PHP5では、PHP3.0やPHP4.0での利用もサポートされていますが、クラス名を変更する必要がないため、クラスのコンストラクタとして__constructを使用することを推奨しています。変化します。 PHP3.0 および PHP4.0 での使用法は PHP7.0 では廃止され、コンストラクターは __construct を使用して定義する必要があります。

コンストラクターは、オブジェクトの作成時にクラス内で自動的に呼び出される最初の関数であり、クラス内に存在できるコンストラクターは 1 つだけです。通常の関数と同様に、コンストラクターにもパラメーターを含めることができます。コンストラクターにパラメーターがある場合は、新しい Student ($name, $age) など、インスタンス化中に対応するパラメーターを渡す必要があります。

コンストラクターを作成するための構文形式は次のとおりです。

public function __construct(参数列表){
    ... ...
}

このうち、パラメーター リストはオプションであり、不要な場合は省略できます。

コンストラクターがコード内で明示的に宣言されていない場合、デフォルトでクラス内にパラメーター リストがなく空のコンテンツを持つコンストラクターが存在します。コンストラクターが明示的に宣言されている場合、デフォルトのコンストラクターはクラスに存在しません。したがって、コンストラクターは通常、特定のパラメーターに値を割り当てるなどの準備作業を行うために使用されます。

注: コンストラクターが明示的に宣言され、そのアクセス許可がパブリックである必要があり、コンストラクターはインスタンス化時に自動的に呼び出される場合、手動で呼び出す必要はありません。

[例] クラスを作成し、それを表示するためのコンストラクタを作成する コードは次のとおりです:

<?php
    class Website{
        public $name, $url, $title;
        public function __construct($str1, $str2, $str3){
            $this -> name  = $str1;
            $this -> url   = $str2;
            $this -> title = $str3;
            $this -> demo();
        }
        public function demo(){
            echo $this -> name.&#39;<br>&#39;;
            echo $this -> url.&#39;<br>&#39;;
            echo $this -> title.&#39;<br>&#39;;
        }
    }
    $object = new Website(&#39;PHP中文网&#39;,&#39;https://www.php.cn/&#39;,&#39;构造函数&#39;);
?>

実行結果は次のとおりです:

PHP中文网
https://www.php.cn/
构造函数

使用しましたコード内の $this は、現在呼び出されているオブジェクトを表します。$this はクラス メソッドでのみ使用できます

推奨学習: "PHP ビデオ チュートリアル "

以上がPHPコンストラクターの書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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