「PHP」の版間の差分

ナビゲーションに移動 検索に移動
1,468 バイト追加 、 1 か月前
→‎クラス: PHPではコンストラクタ名が "__construct" に決まっています。これ以外のものに名前を変えるとエラーになります。
(→‎クラス: PHPではコンストラクタ名が "__construct" に決まっています。これ以外のものに名前を変えるとエラーになります。)
「Deprecated: 」と警告的なメッセージが出るように、これはバグの原因になりやすいので、const宣言したクラス変数のアロー演算子変数の作成は、なるべく避けるのが安全でしょう。
 
==== コンストラクタ ====
下記コードは、 [https://www.php.net/manual/ja/language.oop5.properties.php 公式マニュアル]のうち、説明の簡単のために、これから説明する「コンストラクタ」と関係ない部分の変数をaaとかbbbbとかに変えたものです。
 
<syntaxhighlight lang="PHP">
<?php
 
class User
{
public int $id;
public ?string $name;
 
public function __construct(int $aa, ?string $bbbb)
{
$this->id = $aa;
$this->name = $bbbb;
}
}
 
$ist = new User(123, null);
 
var_dump($ist->id);
var_dump($ist->name);
 
?>
</syntaxhighlight>
 
実行結果
<pre>
int(123)
NULL
</pre>
 
コンストラクタは、そのクラスのインスタンスが生成(new)されたときに実行される関数のことですが、PHPではコンストラクタ名が "__construct" に決まっています。これ以外のものに名前を変えるとエラーになります。
 
このセクションで重要なのは、上記のコンストラクタの説明です。下記はおまけの話題にすぎません。
 
<code>var_dump</code> は単なる出力表示の一種です。気になるなら、 print などの見慣れた関数に置き換えても構いません。
 
<code>int</code> や <code>?string </code> は型名です。最近のPHPでは、クラスの変数の宣言の際、型をつけられます。詳しくは公式マニュアルなどをお読みください。
 
[[Category:PHP|*]]
23,094

回編集

案内メニュー