[PHP-users 14255] Re: 引数の数を調べる

naoki kishida php-users@php.gr.jp
2003年 3月 25日 (火) 04:36:25 JST


きしだです

> >ファイルや各行が自分で知ってる、というより、PHPのプロセッサーが
> >知ってるだけではないでしょうか。
> 
> これは言わないのがお約束かと(^^)
> これを言い出すと、全てのオブジェクト指向言語の全ての場面で同じことが
> 言えます。
> あえて言えば、オブジェクト指向では「こう考えましょう」だとおもいうます。

オブジェクト指向に限らず、なんらかの設計的な意図は、コードとして表されて
いるべきだと思います。
オブジェクト指向として、ファイル自身・行自身が知っている、という場合には、
コードに現れる形としてファイル自身・行自身のオブジェクトが存在する必要が
あると思います。
が、__FILE__や__LINE__は単にファイル名・行番号なのでファイル自身・行自身
のオブジェクトではありません。
また、ファイル自身・行自身が知っているという場合には、外からはそのファイ
ル・その行に教えてもらう必要があるのですが、ここではそういった操作を行っ
てません。

このような理由で、ファイル自身・行自身が知っているとは言いにくいと思いま
す。

ファイル自身・行自身が知っているというためには
  PHPが現在のファイルを知ってる->そのファイルがファイル名を知ってる
  PHPが現在の行をしってる->その行が行番号を知ってる
というコーディングになるべきだと思うのですが。

つまり現状
  System->fileName
  System->lineNumber
のようなイメージになっているので、
  System->file->name
  System->line->number
となっていないとファイル自身・行自身が知っているとはいえないと思うのです。

----
岸田 哉生(きしだ なおき)
	email:kishida@fk.urban.ne.jp
	http://www.fk.urban.ne.jp/home/kishida/




PHP-users メーリングリストの案内