2013-03-01から1ヶ月間の記事一覧
PHPのタイプヒンティング PHP5では、関数・メソッドのパラメーターの型を指定する、タイプヒンティングが利用できます。例: function type_test(array $array) {} type_test(1); これを実行すると、「PHP Catchable fatal error: Argument 1 passed to type…
ここまで、継承について、再利用(サブクラスがスーパークラスのメソッド及び変数を利用すること)及び拡張(サブクラスが独自のメソッド及び変数を定義すること)を学んだ。次に、再定義に移る。再定義とは、サブクラスがスーパークラスで定義されたものの…
基本的には、Zero-configuration Web Application Debugging with Xdebug and PhpStormという、PhpStormの開発元・JetBraingの解説記事を読んでもらえればOK。ですが、要点だけ訳してメモしておきます。1. XdebugをインストールXdebugはPHP拡張(PECL)のう…
独習PHP 第2版PHP5は、本格的なオブジェクト指向の構文を備えたプログラミング言語です。しかし、PHPの書籍には、オブジェクト指向を初歩から解説したものが少ない。『よくわかるPHPの教科書』『初めてのPHP5 増補改訂版』等の入門書では、「オブジェクト指…
インスタンスメソッドとインスタンス変数とは異なり、サブクラスはスーパークラスの静的メソッド・静的変数を継承しない。静的メソッドをサブクラスから呼んだ場合、エラーが発生する。例: public class A { public static function s () { trace("a.s() wa…
以前、SublimeText2をターミナル経由で起動できない問題にハマってたのだけど、解決したのでメモ。参考にした記事:PHPerがMacbookAirを買ったら直ぐにすること 2012↑の記事のCotEditorの部分をSublimeText2に読みかえればOK。ですが、一応手順を書いておき…
2013-03-04追記以下の記述で私が参照していたのは、Smartyバージョン2のドキュメントでした。Smartyバージョン3のドキュメントには、parent::__construct()とする書き方が載っています。Smartyのドキュメントには、Smartyクラスを継承したクラスの書き方の例…
PHP5では、クラスのコンストラクターメソッドは__construct()という名前で統一されています。一方、PHP4では、クラス名と同じ名前のメソッドがある場合はそれをコンストラクターメソッドとみなす、という動作でした。PHP5では、__construct()がある場合はそ…
オブジェクト指向プログラミングにおいて、継承(inheritance)は2つ以上のクラスの形式的な関係を指す。継承によって、あるクラスが他のクラスの変数やメソッドを借りてくる。実用的・技術的な意味では、継承は単にあるクラスが他のクラスのコードを使える…
問 次のPHPスクリプトの出力はどうなるか? $array = array( 0 => 'zero', 2 => 'two', 1 => 'one', ); foreach ($array as $value) { echo $value, PHP_EOL; } 答zero two one 数値添字の昇順に「zero, one, two」と出力されるわけではないので注意が必要で…