PHPでclassを使用する
自作したclassを使用する方法を説明していきます。
ファイルは以下のような構成です。
「cls_user.php」が自作したclassファイルです。
構成
1 2 3 4 |
ドキュメントルート ---+--- index.php | +--- lib/ ---+--- system.ini +--- cls_user.php |
cls_user.php
1 2 3 4 5 6 7 8 9 10 11 12 |
<span class="k"><?php class</span> cls_user <span class="p">{ public $name;</span> public function get_name(){ return $this->name; } public function set_name($input_name = ""){ $this->name = $input_name; } } |
外部ファイルからアクセス可能であることを示す「public」が変数や関数の頭についています。 今回の場合、外部ファイルは「index.php」が該当します。 「index.php」から「public $name」と「public function get_name()」へアクセスします。 「$name」をメンバ変数、「get_name()」をメンバメソッドと言います。 続いてsystem.ini。 system.ini
1 2 3 4 |
<?php define('BASE_DIR' ,$_SERVER['DOCUMENT_ROOT']); define('LIB_DIR' ,BASE_DIR . '/lib/'); ?> |
「lib」ディレクトリをLIB_DIRとして定義しています。
最後にclassファイルを読み込むindex.phpです。
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/lib/system.ini'); //定義したクラスを読み込む require_once <span style="color: #000000;">LIB_DIR</span> . '<strong><span style="color: #ff0000;">cls_user.php</span></strong>'; //定義したクラスのオブジェクト生成 $user = new cls_user(); //名前のセット $user->set_name("カモトラ"); //名前をget echo $user->get_name(); ?> |
「require_once LIB_DIR . ‘cls_user.php’;」の一文で「cls_user.php」を読み込んでいます。
読み込んだ後は、「new cls_user()」として使用することができます。
今回は変数「$user」
この「$user」では、メンバ変数である「$name」とメンバメソッドである「get_name()」を使用することができます。
メンバ変数にアクセスする際には「$user->name」のように記述します。
また、メンバメソッドへのアクセスする際には「$user->get_name()」のように記述します。
この「index.php」では、「$user->set_name = “カモトラ”;」でメンバ変数に「カモトラ」と設定し、「echo $user->get_name();」の一文で「カモトラ」と表示させています。