<?php
include_once __DIR__ . '/Runtime.php';
$code = "echo 'Hello World!!!';"; # This PHP source code will be compiled and executed
$ret = Foxway\Runtime::runSource( $code ); # $ret is array, because it may contain iRawOutput objects
$output = implode( $ret ); # just glue it
echo "$output\n"; # done, $output variable has 'Hello World!!!'
# I know this example looks a silly :-)
# How about this?
$code = '
$info = array("coffee", "brown", "caffeine");
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.";';
echo implode( Foxway\Runtime::runSource($code) ) . "\n"; # coffee is brown and caffeine makes it special.
$code = '
$i=1;
while ( $i<=5 ) {
echo "|$i|";
$y=0;
while ( $y<4 && $y<$i ) {
$y++;
if ( $y==3 ) { break 2; echo "hohoho"; }
echo "($y)";
}
$i++;
}';
echo implode( Foxway\Runtime::runSource($code) ) . "\n"; # |1|(1)|2|(1)(2)|3|(1)(2)
$code = '
$string = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = \'${1}1,$3\';
echo preg_replace($pattern, $replacement, $string);';
echo implode( Foxway\Runtime::runSource($code) ) . "\n"; # April1,2003
echo implode( Foxway\Runtime::runSource('echo $bar = $foo = 1, $foo, $bar;') ) . "\n"; # 111
echo implode( Foxway\Runtime::runSource('echo -(int)-5.5 + (int)(bool)"2";') ) . "\n"; # 6
echo implode( Foxway\Runtime::runSource('$foo = NULL; echo is_null($foo) ? "true" : "false";') ) . "\n"; # true
# see more in phpunit folder
?>
|