PHPにおけるクラスの基本的な定義と利用方法について解説します。
ご要望いただいた通り、Personクラスを定義し、コンストラクターや各ゲッターメソッド(値を取得するメソッド)を盛り込んだサンプルコードを作成しました。
Personクラスのサンプルコード
<?php
class Person {
// メンバー変数の定義(プロパティ)
private $name;
private $age;
private $telephoneNumber;
// コンストラクター:オブジェクト生成時に呼び出される
public function __construct($name, $age, $telephoneNumber) {
$this->name = $name;
$this->age = $age;
$this->telephoneNumber = $telephoneNumber;
}
// ネームを取得するメソッド
public function getName() {
return $this->name;
}
// エイジを取得するメソッド
public function getAge() {
return $this->age;
}
// テレフォンナンバーを取得するメソッド
public function getTelephoneNumber() {
return $this->telephoneNumber;
}
}
// --- クラスの利用例 ---
// オブジェクトの作成(インスタンス化)
$person1 = new Person("田中 太郎", 25, "090-1234-5678");
// メソッドを利用して情報を取得し、表示する
echo "名前: " . $person1->getName() . "\n";
echo "年齢: " . $person1->getAge() . "歳\n";
echo "電話番号: " . $person1->getTelephoneNumber() . "\n";
?>
コードの解説
メンバー変数(プロパティ):
privateキーワードを使用しています。これは「クラスの外から直接書き換えられないようにする」ための安全策(カプセル化)です。
コンストラクター (
__construct):new Person(...)とした瞬間に実行されます。受け取った引数を$this->nameなどの変数に代入して初期化します。
メソッド(ゲッター):
getNameなどのメソッドを通じて、privateな変数の中身を安全に外部へ返します。
オブジェクトの作成:
$person1 = new Person(...)で、設計図(クラス)から実体(オブジェクト)を作成しています。
こちらのコードについて、さらに詳細な説明や、データの更新(セッターメソッド)の追加などが必要であれば、いつでもお知らせください。
---------------------------------------------------------------------------------------------------------------
すいませんが実行したところ。 最後の表示で改行コードが機能しておりません。
失礼いたしました。ブラウザ上で実行(表示)されている場合、PHPの \n(改行コード)はソースコード上の改行として扱われ、画面上では空白として見えてしまうことがあります。
Webブラウザで表示させる場合は、HTMLの改行タグである <br> を使うか、プレーンテキストとして出力する設定が必要です。
用途に合わせて、以下のいずれかの方法をお試しください。
1. ブラウザ表示用に <br> を使う方法
Webブラウザで結果を確認している場合は、こちらが最も一般的です。
// メソッドを利用して情報を取得し、表示する(<br>を使用)
echo "名前: " . $person1->getName() . "<br>";
echo "年齢: " . $person1->getAge() . "歳<br>";
echo "電話番号: " . $person1->getTelephoneNumber() . "<br>";
2. 改行コード \n を HTMLの <br> に変換する方法
nl2br() 関数を使うと、文字列内の改行コードを自動的にタグへ変換してくれます。
echo nl2br("名前: " . $person1->getName() . "\n");
echo nl2br("年齢: " . $person1->getAge() . "歳\n");
echo nl2br("電話番号: " . $person1->getTelephoneNumber() . "\n");
3. テキスト形式として出力する方法(デバッグ等)
ファイルの先頭で「これはテキストです」というヘッダーを送ることで、\n がそのまま改行として機能するようになります。
<?php
header("Content-Type: text/plain; charset=UTF-8");
// ...(クラス定義などは同じ)
echo "名前: " . $person1->getName() . "\n"; // これで改行されます
ヒント:
コマンドライン(CLI) で実行している場合は、最初のコード(
\n)で正しく改行されます。ブラウザ で実行している場合は、HTMLとして解釈されるため
<br>が必要になります。
他にも修正したい点や、追加したい機能があればお気軽にお申し付けください。
📋 回答をコピーする
0 件のコメント:
コメントを投稿