2011-08-12 17 views
4

私はPHPには、以下を許すように見えることに気付きました:PHPの未割り当てのクラスインスタンス?

<?php 

class StandAlone { 
    public function __construct() { 
     echo "I am constructed!"; 
    } 

    public function __destruct() { 
     echo "I am destructed!"; 
    } 
} 

new StandAlone; 

任意の大騒ぎせず。

このエラーはPHP の場合はに間違いがありますか?または、これは許容され、クラスインスタンスはどこかのメモリに存在するだけで、その特定のインスタンスに直接アクセスすることはできません。

答えて

2

私のために正常に動作します。たとえば、パラメータとしてStandAloneオブジェクトをパラメータとして受け入れる関数に渡すことができます。これは、使用中のスクリプト実行中の時間の間、メモリ内に存在します。割り当てられていない場合、それは構築され、破壊され、解放されます。

call_a_function(new StandAlone); 

しかし私は、あなたがそれを割り当てるか、より良いだけではなく、クラスのいくつかの作業を行うための機能を定義することにより、提供されない関数に渡さずにnew Objectを呼ぶだろう任意の実際の状況を考えることはできません。

+0

ありがとうございます!私も実際にそれをやったことがあります。私は、スクリプトそのものを忘れて、インスタンスのコンテキストが明らかに不足していると思う。 – Mike

関連する問題