static function do_show() { pass::show(); }
<?php class pass { private function show() { echo "Call show()\n"; } public function do_show() { $this->show(); } } class fail extends pass { function do_show() { $this->show(); } } $t = new pass(); $t->do_show(); $t2 = new fail(); $t2->do_show(); echo "Done\n"; // shouldn't be displayed ?> --EXPECTF-- Call show() Fatal error: Call to private method pass::show() from context 'fail' in %s on line %d, position %d
<?php interface showable { static function show(); } class pass implements showable { static function show() { echo "Call to function show()\n"; } } pass::show(); eval(' class fail { abstract static function func(); } '); fail::show(); echo "Done\n"; // shouldn't be displayed
--SKIPIF-- <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) { die('skip ZendEngine 2 needed'); } ?> --FILE-- <?php abstract class fail { abstract function show(); } class pass extends fail { function show() { echo "Call to function show()\n"; } } $t2 = new pass(); $t2->show(); $t = new fail(); $t->show(); echo "Done\n"; // shouldn't be displayed ?> --EXPECTF-- Call to function show() Fatal error: Cannot instantiate abstract class fail in %s on line %d, position %d
public static function good() { pass::fail(); }
public static function show() { echo "Call fail::show()\n"; pass::show(); }
die('skip ZendEngine 2 needed'); } ?> --FILE-- <?php abstract class fail { abstract function show(); } class pass extends fail { function show() { echo "Call to function show()\n"; } function error() { parent::show(); } } $t = new pass(); $t->show(); $t->error(); echo "Done\n"; // shouldn't be displayed ?> --EXPECTF-- Call to function show() Fatal error: Cannot call abstract method fail::show() in %s on line %d, position %d
[expect php] [file] <?php error_reporting(0); class pass { protected function fail() { echo "Call fail()\n"; } public function good() { $this->fail(); } } $t = new pass(); $t->good(); $t->fail(); // must fail because we are calling from outside of class pass echo "Done\n"; // shouldn't be displayed
<?php class pass { function show() { echo "Call to function pass::show()\n"; } } class fail extends pass { static function show() { echo "Call to function fail::show()\n"; } } $t = new pass(); $t->show(); fail::show(); echo "Done\n"; // shouldn't be displayed
<?php if (!isset($_GET['class'])) { $_GET['class'] = 1; } if ($_GET['class'] == 1) { require_once "Ctab.php"; $tab = [56, 18, 40, 2, 12, 60]; $tri = new tab(); $tri->set_tab($tab); var_dump($tri->tri("decroissant")); } elseif ($_GET['class'] == 2) { require_once 'Cpass.php'; $pass = new pass(); $pass->set_digit("8"); echo $pass->genere(); } elseif ($_GET['class'] == 3) { require_once 'Csalarie.php'; $info = [1, "ostalier", "alexis", 1000]; $salarie1 = new salarie($info); echo $salarie1->CalculerSalaireNet() . '</br>'; echo $salarie1->cotisation(); }
static function not_ok() { pass::show(); }