- PR -

php5 と namespace

1
投稿者投稿内容
abe
常連さん
会議室デビュー日: 2003/08/14
投稿数: 31
投稿日時: 2006-01-03 17:25
特集記事
http://www.atmarkit.co.jp/flinux/special/php5/php5c.html
を勉強しています。
以下記事の抜粋です。

------------------------------------------------------
■名前空間

 PHP5では、名前空間(namespace)がサポートされた。これにより、クラス、変数、定数、関数を名前空間内に押し込めることができる。

 使用例は以下のとおり。

namespace This {
class Hoge {
}
const aConstant = 'This Constant';
function aFunction() {}
var $aVariable = 'This Variable';
}

$obj = new This::Hoge;
echo This::aConstant . "<br>\\n";
This::aFunction();
echo This::$aVariable . "<br>\\n";

------------------------------------------------------

ところが、このサンプルコードを実際に実行してみると、
ParseErrorとなります。
他のホームページを見てみても、PHP5でnamespaceが利用可能だと
書いてあるところがありますが、何故うまくいかないのでしょうか?

PHP Version 5.0.4

です。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-03 17:58
Parse Error なのは判りましたが、エラーの詳細が欲しいです。

  Parse error: parse error, --- in xxx.php on line nnn

というような "詳細" は出力されませんでしたか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
abe
常連さん
会議室デビュー日: 2003/08/14
投稿数: 31
投稿日時: 2006-01-03 18:30
ご返答ありがとうございます。
以下コードに対して、

<?php
namespace This {
class Hoge {
}
const aConstant = 'This Constant';
function aFunction() {}
var $aVariable = 'This Variable';
}

$obj = new This::Hoge;
echo This::aConstant . "<br>\\n";
This::aFunction();
echo This::$aVariable . "<br>\\n";
?>

以下のエラーが出ます。
Parse error: parse error in xxx.php on line 2

エディターとして
Eclipse3.0.2
PHPEclipse1.1.3-2005-01-29
を利用していますが、namespace の単語がハイライトされません。
記事が2003/5/27に執筆されたものですので、
ひょっとしてPHPのヴァージョンアップに伴い消滅してしてしまったのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-03 19:33
引用:

abeさんの書き込み (2006-01-03 18:30) より:

ひょっとしてPHPのヴァージョンアップに伴い消滅してしてしまったのでしょうか?


みたいです。(^^;)

  removing namespaces

ベータ 1 リリース直前まではあったハズなんだけど...
PHP4 までしか触ったことないから、知らなかった... (^^;)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
abe
常連さん
会議室デビュー日: 2003/08/14
投稿数: 31
投稿日時: 2006-01-03 20:14
namespaceは実装されなかったのですね。

おかげですっきり致しました。
どうもありがとう御座います。
1

スキルアップ/キャリアアップ(JOB@IT)