ます’s Blog - どうでもいい記事100選

どうでもいい記事100選

Added support for namespaces with brackets.

最近は放置プレーでしたが、名前空間絡みで新たに追加があったようです。
以前にも「一つのファイル内で複数の名前空間を定義する事が可能になった」と報告してましたけど、これの発展系なのかな?

っていうか、「\」が(やっぱり)キモい。。。「積極的に使うなよ!」っていう牽制なのかしら。

<?php

namespace A
{
  class A { }

  $A1 = new A;
  echo get_class( $A1 ).PHP_EOL;
}

namespace B
{
  class A { }

  $A2 = new A;
  echo get_class( $A1 ).PHP_EOL;
  echo get_class( $A2 ).PHP_EOL;
}


/***

Fatal error: No code may exist outside of namespace {} in /path/to/brackets.php on line XX

echo get_class( $A1 ).PHP_EOL;
echo get_class( $A2 ).PHP_EOL;

***/

?>

ただ、以前の記述もOKっぽい。。。見易さ的には(個人的には)ブラケットで囲った方が好き。
もっと言うと、複数の名前空間を一つのファイル内で定義する時はブラケット以外は許容しないで欲しい。それくらいのメリハリが欲しい。

<?php

namespace A;

class A { }

$A1 = new A;

namespace B;

class A { }

$A2 = new A;


echo get_class( $A1 ).PHP_EOL;
echo get_class( $A2 ).PHP_EOL;

?>

ただ、何故PHP_5_3 Branchから先に作業するんだろうね?気になる。