WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
Uname:Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64

Base Dir : /var/www/eduesan

User : www-data


403WebShell
403Webshell
Server IP : 202.131.237.196  /  Your IP : 216.73.216.192
Web Server : nginx/1.14.0
System : Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.2.24-0ubuntu0.18.04.17
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/php/72/src/tests/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/php/72/src/tests/classes/factory_and_singleton_001.phpt
--TEST--
ZE2 factory and singleton, test 1
--FILE--
<?php
class test {
  protected $x;

  static private $test = NULL;
  static private $cnt = 0;

  static function factory($x) {
    if (test::$test) {
      return test::$test;
    } else {
      test::$test = new test($x);
      return test::$test;
    }
  }

  protected function __construct($x) {
    test::$cnt++;
    $this->x = $x;
  }

  static function destroy() {
    test::$test = NULL;
  }

  protected function __destruct() {
  	test::$cnt--;
  }

  public function get() {
    return $this->x;
  }

  static public function getX() {
    if (test::$test) {
      return test::$test->x;
    } else {
      return NULL;
    }
  }

  static public function count() {
    return test::$cnt;
  }
}

echo "Access static members\n";
var_dump(test::getX());
var_dump(test::count());

echo "Create x and y\n";
$x = test::factory(1);
$y = test::factory(2);
var_dump(test::getX());
var_dump(test::count());
var_dump($x->get());
var_dump($y->get());

echo "Destruct x\n";
$x = NULL;
var_dump(test::getX());
var_dump(test::count());
var_dump($y->get());

echo "Destruct y\n";
$y = NULL;
var_dump(test::getX());
var_dump(test::count());

echo "Destruct static\n";
test::destroy();
var_dump(test::getX());
var_dump(test::count());

echo "Done\n";
?>
--EXPECT--
Access static members
NULL
int(0)
Create x and y
int(1)
int(1)
int(1)
int(1)
Destruct x
int(1)
int(1)
int(1)
Destruct y
int(1)
int(1)
Destruct static
NULL
int(0)
Done

Youez - 2016 - github.com/yon3zu
LinuXploit