123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- --TEST--
- Test with compact literals
- --INI--
- opcache.enable=1
- opcache.enable_cli=1
- opcache.optimization_level=-1
- --EXTENSIONS--
- opcache
- --FILE--
- <?php
- echo "array key hash" . ":" . PHP_EOL;
- $array = array(
- "1" => "one",
- "2" => "two",
- "one" => 1,
- "two" => 2,
- );
- unset($array["one"]);
- unset($array["2"]);
- print_r($array);
- echo "function define" . ":" . PHP_EOL;
- if (!function_exists("dummy")) {
- function dummy() {
- var_dump(__FUNCTION__);
- }
- }
- dummy();
- $dummy = function () { var_dump("lambda" . "dummy"); };
- $dummy();
- if (!class_exists("A")) {
- class A {
- public static $name = "A";
- public static function say($n = "name") {
- var_dump(static::$name);
- }
- }
- }
- class B extends A {
- public static $name = "B";
- }
- if (!class_exists("C")) {
- class C extends B {
- public static $name = "C";
- }
- }
- A::say();
- B::Say();
- A::say();
- B::say();
- C::say();
- function get_eol_define() {
- define("MY_EOL", PHP_EOL);
- }
- get_eol_define();
- define("EOL", MY_EOL);
- echo "constants define" . ":" . EOL;
- echo "define " . "TEST" . EOL;
- define("TEST", "TEST");
- class E {
- public static $E="EP";
- const E="E";
- const TEST="NULL";
- }
- class F {
- const F="F";
- public static $E="FEP";
- const E="FE";
- const TEST="FALSE";
- public static $F = "FP";
- }
- var_dump(TEST); //"TEST"
- var_dump(E::E); //"E"
- var_dump(F::E); //"FE"
- var_dump(F::F); //"F"
- var_dump(E::TEST); //"NULL"
- var_dump(F::TEST); //"FALSE"
- var_dump(E::$E); //"EP"
- var_dumP(F::$F); //"FP"
- var_dumP(F::$E); //"FEP"
- echo "propertes and methods" . EOL;
- class CH {
- const H = "H";
- public function h() {
- var_dump(self::H);
- }
- }
- class CI {
- const H = "I";
- public function h() {
- var_dump(self::H);
- }
- }
- function change(&$obj) {
- $obj = new CH;
- }
- function geti() {
- return new CI;
- }
- $h = new CH;
- echo "-->H" . PHP_EOL;
- $h->H();
- var_dump($h::H);
- var_dump(CH::H);
- $h->H();
- var_dump($h::H);
- var_dump(CH::H);
- echo "-->I" . PHP_EOL;
- $h = new CI;
- $h->H();
- var_dump($h::H);
- var_dump(CI::H);
- $h->H();
- var_dump($h::H);
- var_dump(CI::H);
- echo "-->H" . PHP_EOL;
- change($h);
- $h->H();
- var_dump($h::H);
- var_dump(CH::H);
- $h->H();
- var_dump($h::H);
- var_dump(CH::H);
- echo "-->I" . PHP_EOL;
- $h = geti();
- $h->H();
- var_dump($h::H);
- var_dump(CI::H);
- $h->H();
- var_dump($h::H);
- var_dump(CI::H);
- ?>
- --EXPECT--
- array key hash:
- Array
- (
- [1] => one
- [two] => 2
- )
- function define:
- string(5) "dummy"
- string(11) "lambdadummy"
- string(1) "A"
- string(1) "B"
- string(1) "A"
- string(1) "B"
- string(1) "C"
- constants define:
- define TEST
- string(4) "TEST"
- string(1) "E"
- string(2) "FE"
- string(1) "F"
- string(4) "NULL"
- string(5) "FALSE"
- string(2) "EP"
- string(2) "FP"
- string(3) "FEP"
- propertes and methods
- -->H
- string(1) "H"
- string(1) "H"
- string(1) "H"
- string(1) "H"
- string(1) "H"
- string(1) "H"
- -->I
- string(1) "I"
- string(1) "I"
- string(1) "I"
- string(1) "I"
- string(1) "I"
- string(1) "I"
- -->H
- string(1) "H"
- string(1) "H"
- string(1) "H"
- string(1) "H"
- string(1) "H"
- string(1) "H"
- -->I
- string(1) "I"
- string(1) "I"
- string(1) "I"
- string(1) "I"
- string(1) "I"
- string(1) "I"
|