読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

PHPでオブジェクト指向入門~まずはクラスを作ってみる~

PHP
<スポンサーリンク>

まずはクラスを作ってみる。

■Dog.php

//--------ソースここから------------
<?php

class Dog {
    var $calling;

    public function __construct($calling) {
        $this->calling = $calling;
        echo "construct!",PHP_EOL;
    }

    public function bow() {
        echo calling, PHP_EOL;
    }
}

$dog = new Dog("wan!");
$dog->bow();

これを実行すると、結果はこうなる。

$ /usr/bin/php Dog.php
construct!
calling

PHPでクラスを作る構文はこんな感じ。

class クラス名 {
	var 変数名;
	function __construct() {
		//コンストラクタ
	}
	function 関数名() {
		//処理
	}
}

クラスをインスタンス化するには、

$obj = new クラス名();

のようにする。
クラスの実体が入った変数のことを「インスタンス」という。
メソッドの呼び出しは、アロー演算子(->)を使って呼び出す。

PHP4では、コンストラクタ

function クラス名() {
	
}

で定義していたのだが、PHP5からは、

function __construct() {
	
}

で定義できるようになった。
ただし、下位互換性があるので、PHP5を使っていても、PHP4の書き方でコンストラクションすることはできる。

なぜクラスにするのか?

  • 関数ベースで開発すると、複数人で開発を行い、ソースコードを結合する時に、関数名の重複などで問題が発生する可能性がある
  • 関数ベースで開発すると、規模が大きくなって関数が増えると、メンテナンスが非常に困難になる
  • クラスを作ることで、関数の影響をクラスの中に留めることができる

などの理由から、クラスを作ってオブジェクト指向の考え方を取り入れることで、コードの再利用性が高まる。

参考にした本

PHPによるWebアプリケーションスーパーサンプル活用編 第3版

PHPによるWebアプリケーションスーパーサンプル活用編 第3版

PHPの本は初心者向けの本が多くて、やたら文法の解説ばっかりだったり、簡単さを前面に押し出しすぎて陳腐なWebアプリを作らせるような書籍が多い。
そんな中、ちょっとプログラミングをわかってる人にとって、すごく勉強しがいのある本が見つかった。
それがこの本だ。
色んなサンプルが、「ちゃんとしたコード」で書かれているため、読んでいて安心して勉強できる(他は、「オブジェクト指向?なにそれ?」みたいな本が多い)