2011-02-09 3 views
0

私はPHPアプリケーションを手続き型からoopに移行しています。
私はエラーを有効にするにはDEBUG定数を使用すると警告出力(実際には、私はあなたを持って、一人一人が、出力はより冗長になります。
しかし、私は方法の中から、これらの定数にアクセスする方法を見つけることができません。
定数は別のファイルに自動ロードする前に定義されています。クラスメソッド内から定数にアクセスする方法

ユーティリティファイルでは、私は

define('DEBUG', TRUE); 

を持っており、指定されたメソッドの内部で、私は

if(!defined('DEBUG')) define('DEBUG', FALSE); 
に試してみました

しかし、私はいつもDEBUG = FALSEに終わります。
何が間違っていますか?私はOOPするために、合計noobのだけど、とても優しくして:-)ください

明確化

すべてのクラスは、自分のファイルを持っています。
任意のスクリプトで、私が行う最初のことは、ユーティリティファイルを含めることです。ユーティリティファイルはDEBUGを定義し、_autoload関数を持っています。

script_file.php 
includes utility_file.php 
    defines DEBUG 
    has _autoload function 
+0

通常はどこでも利用できます。ファイルの読み込みに問題があるようです。 – kirilloid

+0

私は明確化 –

+0

を追加したので、ユーティリティは定数DEBUGを定義しています。それでは_autoload関数の内容は何ですか? DEBUGが定義されているかどうかをチェックする関数はどこにありますか?オートロード機能ですか?インクルード後のどこか? – Arvin

答えて

0

darkphoenixが正しかった、これはOOPの問題ではなかった。これはNetBeansの問題でした。
私はNetBeandを使用しており、保存時にファイルをリモートサーバーにアップロードしています。ユーティリティーファイルのDEBUG定数をTRUEに設定し、NetBeansでsaveを押すと、saveプロセス(明らかに)は問題なく(警告も何もなく)行われました。
SSHを介してログインした後者がファイルに猫をしたとき、私の驚きは大きかった。ファイルは決してサーバーに保存されませんでした。私のローカルコピーには最後に編集したものがありますが、リモートコピーはありません。
話の道徳:私はあなたを嫌っていますNetBeans

1

thisに従って、コードに直接DEBUG(前に$は付いていません)にアクセスする必要があります。あなたが話している機能を持っている同じファイルにあなたのユーティリティファイルを含めたり、必要としたりしていますか?私はこれがOOPの問題だとは思わない。

+0

を使用しようとするものです。そのため、ここで何が起こっているのか理解できません。質問に明確化を追加しました –

+0

すべての手続き関数からDEBUG定数にアクセスできます。しかし、クラス内では、決して存在しなかったようなものです... –

関連する問題