--TEST-- Test token_get_all() function : usage variations - with predefined language constants --FILE-- "; var_dump( token_get_all($source)); // parsing __CLASS__ and __FUNCTION__ tokens echo "-- with CLASS and FUNCTION --\n"; $source = ''; var_dump( token_get_all($source)); // parsing __LINE__ and __METHOD__ tokens echo "-- with LINE and METHOD --\n"; $source = ''; var_dump( token_get_all($source)); echo "Done" ?> --EXPECTF-- *** Testing token_get_all() : with language constants *** -- with FILE -- array(16) { [0]=> array(3) { [0]=> int(368) [1]=> string(6) " int(1) } [1]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(1) } [2]=> array(3) { [0]=> int(309) [1]=> string(3) "$fp" [2]=> int(2) } [3]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(2) } [4]=> string(1) "=" [5]=> array(3) { [0]=> int(371) [1]=> string(2) " " [2]=> int(2) } [6]=> array(3) { [0]=> int(307) [1]=> string(5) "fopen" [2]=> int(2) } [7]=> string(1) "(" [8]=> array(3) { [0]=> int(365) [1]=> string(8) "__FILE__" [2]=> int(2) } [9]=> string(1) "," [10]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(2) } [11]=> array(3) { [0]=> int(315) [1]=> string(3) "'r'" [2]=> int(2) } [12]=> string(1) ")" [13]=> string(1) ";" [14]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(2) } [15]=> array(3) { [0]=> int(370) [1]=> string(2) "?>" [2]=> int(3) } } -- with CLASS and FUNCTION -- array(30) { [0]=> array(3) { [0]=> int(368) [1]=> string(6) " int(1) } [1]=> array(3) { [0]=> int(353) [1]=> string(5) "class" [2]=> int(2) } [2]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(2) } [3]=> array(3) { [0]=> int(307) [1]=> string(7) "MyClass" [2]=> int(2) } [4]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(2) } [5]=> string(1) "{" [6]=> array(3) { [0]=> int(371) [1]=> string(3) " " [2]=> int(3) } [7]=> array(3) { [0]=> int(316) [1]=> string(4) "echo" [2]=> int(4) } [8]=> array(3) { [0]=> int(371) [1]=> string(2) " " [2]=> int(4) } [9]=> array(3) { [0]=> int(361) [1]=> string(9) "__CLASS__" [2]=> int(4) } [10]=> string(1) ";" [11]=> array(3) { [0]=> int(371) [1]=> string(3) " " [2]=> int(4) } [12]=> array(3) { [0]=> int(334) [1]=> string(8) "function" [2]=> int(5) } [13]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(5) } [14]=> array(3) { [0]=> int(307) [1]=> string(10) "myFunction" [2]=> int(5) } [15]=> string(1) "(" [16]=> string(1) ")" [17]=> array(3) { [0]=> int(371) [1]=> string(3) " " [2]=> int(5) } [18]=> string(1) "{" [19]=> array(3) { [0]=> int(371) [1]=> string(2) " " [2]=> int(6) } [20]=> array(3) { [0]=> int(316) [1]=> string(4) "echo" [2]=> int(6) } [21]=> array(3) { [0]=> int(371) [1]=> string(2) " " [2]=> int(6) } [22]=> array(3) { [0]=> int(363) [1]=> string(12) "__FUNCTION__" [2]=> int(6) } [23]=> string(1) ";" [24]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(6) } [25]=> string(1) "}" [26]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(6) } [27]=> string(1) "}" [28]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(7) } [29]=> array(3) { [0]=> int(370) [1]=> string(2) "?>" [2]=> int(8) } } -- with LINE and METHOD -- array(19) { [0]=> array(3) { [0]=> int(368) [1]=> string(6) " int(1) } [1]=> array(3) { [0]=> int(371) [1]=> string(2) " " [2]=> int(2) } [2]=> array(3) { [0]=> int(309) [1]=> string(2) "$a" [2]=> int(2) } [3]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(2) } [4]=> string(1) "=" [5]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(2) } [6]=> array(3) { [0]=> int(364) [1]=> string(8) "__LINE__" [2]=> int(2) } [7]=> string(1) ";" [8]=> array(3) { [0]=> int(371) [1]=> string(3) " " [2]=> int(2) } [9]=> array(3) { [0]=> int(309) [1]=> string(2) "$b" [2]=> int(3) } [10]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(3) } [11]=> string(1) "=" [12]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(3) } [13]=> array(3) { [0]=> int(309) [1]=> string(2) "$b" [2]=> int(3) } [14]=> string(1) "." [15]=> array(3) { [0]=> int(362) [1]=> string(10) "__METHOD__" [2]=> int(3) } [16]=> string(1) ";" [17]=> array(3) { [0]=> int(371) [1]=> string(1) " " [2]=> int(3) } [18]=> array(3) { [0]=> int(370) [1]=> string(2) "?>" [2]=> int(4) } } Done