开发者

How to call static func by passing $_GET params?

i have got a static function> which is called regenerateThumbnailsCron()

And I would like to execute this function by GET params, for example>

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

But if I tryied to call this function in constructor> class AdminImages extends AdminTab ...

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

I cannot execute this function. Is any way, how to call this function before __construct to correctly execute?

Thanks very much for any advice.

EDIT>

开发者_开发百科

I tried also with public function>

<?php
include 'AdminImages.php';

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

?>

But i got error> Fatal error: Class 'AdminTab' not found


You need to do a include 'AdminTab.php'; as well, since your class extends that


Not completely sure I understand your question, are you saying that you have static class "B" which extends class "A", "A" having your regenerateThumbnailsCron() method which you want to call before anything else?

If so then try this:

<?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();
?>

This way, your parent's "regenerate()" function would get called during the constructor. You can switch this around to be a static class if you want, which if your goal is to compartmentalise any variables and functions away from the global scope would be a better way.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜