sgolemon / howphpticks

Extras for "How PHP Ticks"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Basic tools for exploring PHP compilation

token_get_all.php

Displays the token stream from parsing a file:

$ php token_get_all.php somefile.php
  0: T_OPEN_TAG: <?php
  2: T_ECHO: echo
  4: T_CONSTANT_ENCAPSED_STRING: 'Hello world!\n'
  5: ';'

Note that whitespace is omitted by default, to include whitespace, set WS=1 in the local env.

$ WS=1 php token_get_all.php somefile.php
  0: T_OPEN_TAG: <?php
  1: T_WHITESPACE:
  2: T_ECHO: echo
  3: T_WHITESPACE:
  4: T_CONSTANT_ENCAPSED_STRING: 'Hello world!\n'
  5: ';'

astview.php

Dump an AST tree:

$ php astview.php somefile.php
ZEND_AST_STMT_LIST
  ZEND_AST_ECHO
    ZEND_AST_ZVAL string(12) "Hello+World!"

phpdbg -p*

To dump opcodes, use phpdbg provided with PHP:

$ phpdbg -p* somefile.php
function name: (null)
L1-1 {main}() howphpticks/hello.php - 0x7d279984e000 + 2 ops
L3  #0  ECHO          "Hello world!"
L3  #1  RETURN

About

Extras for "How PHP Ticks"


Languages

Language:PHP 100.0%