下記のトレイトの例では、PrintNameで宣言された$nameに、$thiis->nameで
'apple'が入る様ですが、これはFruitのコンストラクタの$this->nameに
'apple'が設定された$nameとはどのような関係になるのでしょうか?
Fruitの$nameがPrintNameの$nameにコピーされる?あるいは、
Fruitのコンストラクタ呼び出し時に両方の$nameに'apple'が設定される?
トレイトには継承関係はないのでどういった扱いになるのか知りたいのです。
<?php
trait PrintName
{
private string $name;
public function printName()
{
echo $this->name . '<br>';
}
}
trait PrintPrice
{
private int $price;
public function printPrice()
{
echo $this->price . '<br>';
}
}
class Fruit
{
use PrintName;
use PrintPrice;
public function __construct(
private string $name,
private int $price,
) {}
}
$apple = new Fruit('apple', 200);
$apple->printName();
$apple->printPrice();
No.1ベストアンサー
- 回答日時:
クラス Fruit のコンストラクタ引数 $name は、
プロモーション機能によりクラス内のプロパティとして定義されます。
https://www.php.net/manual/ja/language.oop5.deco …
トレイト PrintName のプロパティ定義 $name と、
クラス Fruit のプロパティ定義 $name は、
優先順位によりクラス側が優先され定義されます。
https://www.php.net/manual/ja/language.oop5.trai …
プロパティ $name はインスタンス内で唯一の存在となるので、
クラス側メソッドもトレイト側メソッドも参照先は同じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
mySQLのデータを多次元配列に格...
-
MySQL,PHPのリロードによる二重...
-
Flaskでサーバー立ち上げに関して
-
MAMPでphpのモジュールSpreadsh...
-
phpでショッピングカート機能を...
-
PHP SQL 問合せについて
-
HTMLで前の画面に戻る時、入力...
-
phpの掲示板で新しい順に表...
-
検索時の選択内容を保持する方法
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
大鏡「若き日の道長」の訳
-
phpで、フォームのラジオボタン...
-
syntax error, unexpected '}' ...
-
laravelを利用してコントロール...
-
画面が更新されてもチェックボ...
-
セッションを使わずに遷移先画...
-
PHP DBの登録情報をラジオボタ...
-
日付のセレクトボックスで0付き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
phpで変数を使ってcopyできない
-
Flaskでサーバー立ち上げに関して
-
POSTの項目に追加
-
foreachがうまく動かない
-
PHP&MySQL fetchAll()でデータ...
-
PHPからHTMLへの変数の受け...
-
サブフォルダ内の全てのテキス...
-
ファイル名を変更してアップロ...
-
openCVのトラックバーについて
-
アップロードしたファイルの絶...
-
phpでショッピングカート機能を...
-
php+mysqlでの重複チェックにつ...
-
$_REQUEST とphpファイルでphp?...
-
PHP FTPサーバへの画像アップロ...
-
php ファイルアップロード サ...
-
$_REQUESTの意味を教えて下さい
-
重複を防ぐ記述について教えて...
-
name属性が全角の場合・・・
-
PHP MySql 画像を取得
おすすめ情報