2011-01-04 23 views
0

私は、この関数を呼び出すためにtryied場合、私は)

を regenerateThumbnailsCron(と呼ばれる静的関数を>持っていると私は、たとえば、GET用のparamsでこの関数を実行したいと思います>

if($_GET["pass"]=="password") 
self::regenerateThumbnailsCron(); 

をしかし、コンストラクタ> クラスAdminImagesに、私はこの機能を実行することはできません... AdminTab

public function __construct() 
{ 
    if($_GET["pass"]=="password") 
    self::regenerateThumbnailsCron(); 
} 

を拡張します。 __constructを正しく実行する前にこの関数を呼び出す方法はありますか?

ありがとうございました。

EDIT>

は私が

<?php 
include 'AdminImages.php'; 

$images = new AdminImages(); 
$images->regenerateThumbnailsCron(); 

?> 

>パブリック関数でも試してみました。しかし、私はエラー> 致命的なエラーました:クラスのAdminTab 'あなたのようにinclude 'AdminTab.php';を行う必要があり

+0

真剣に。答えは5秒かかりますか? – cwallenpoole

+0

GET文字列に実際のパスワードがないことを願っています... – keithjgrant

答えて

2

が見つかりませんあなたのクラスがそれを拡張して以来、よく、

0

私はあなたの質問を理解しているかどうかは完全にはわかりませんが、クラス "A"、 "A"をあなたのregenerateThumbnailsCron()メソッドを拡張するティッククラス "B"と呼びます。

このしようとしそうな場合:この方法で

<?php 
class A { 
    private function regenerate() { 
    .... do something .... 
    } 
} 

class B extends A { 
    function __construct() { 
    if ($_GET["pass"] == "password") { 
     parent::regenerate(); 
    } 
    } 

    function regenerateThunbnailsCron() { 
    .... do somethinig .... 
    } 

} 

$images = new B(); 
$images->regenerateThumbnailsCron(); 
?> 

を、あなたの親の「再生成()」関数は、コンストラクタ中に呼び出さなるだろう。必要に応じて静的なクラスに切り替えることができます。グローバルスコープから離れた変数や関数をコンパイルすることが目的の場合は、より良い方法です。

関連する問題