php 名前空間について
jQuery File Upload Pluginを実行したらこんなワーニングが出た。
PHP Warning: Unexpected character in input: '\\' (ASCII=92) state=1
どうやら以下の行でエラーになっていたらしい。
<?php $file = new \stdClass();
まず、エラーが起きていた原因については、php5.3移行でしか使えない(\)を使用していたため。
stdClassとは、phpに標準に用意されているクラスらしい。クラス型としてデータを持ちたい場合に使用する。
PHP標準クラスのstdClassについて - phpspot
じゃあ(\)ってなに?なるんだけど、これはphpで名前空間を使う場合に使用する。
以下参考サイト
PHPのnamespace(名前空間) | kudox.jp
FAQ: 名前空間について知っておくべきこと (名前空間) - PHPプロ!マニュアル
http://site.oukasei.com/?p=305
まず1つ目のサイトをしっかりと理解した後に、2つ目のサイトを読むと理解しやすいと思う。3つ目のサイトは参考程度に。
<?php $file = new \stdClass();
参考サイトを読むとこの意味が分かる。
要は、名前空間配下で、標準のクラスであるstdClassを読む込むために、\をつけている、ということになる。
名前空間配下では、たとえstrlen()のような標準関数であろうとも、先頭に\をつける必要がある。
ただし、関数の場合は、\をつけないと自動的にグローバル関数を読むらしいので関数に至っては省略できるが、クラスの場合は省略できない。
最近始めたfxがなかなか好調です。メインはSBIFXトレード使ってます。
低予算(1000通貨)で比較 | FX比較 低予算から始めるFXランキング 初心者の外為入門