0
token_get_all()
으로 PHP 소스 코드를 파싱하려고합니다. 지금까지 모든 기능이 제대로 작동했지만 이제 메소드의 반환 값을 얻는 방법이 필요합니다.토크 나이저로 코드 반환 값을 얻으십시오
return
의 위치를 확인하는 것이 문제가되지 않습니다. 나는 단지 return
값 뒤에 오는 코드 조각을 얻는 방법을 모른다.
<?php
class Bla {
public function Test1()
{
$t = true;
if($t) {
return 1;
}
return 0;
}
public function Test2()
{
echo "bbb";
return; // nothing is returned
}
public function Test3()
{
echo "ccc";
$someval1 = 1;
$someval2 = 2;
return ($someval + $otherval)*2;
}
}
?>
내가 식별 할 수 get_token_all()
를 사용 해요 return
이 수행됩니다 : 코드의이 작품에 대한 예를 들어
$newStr = '';
$returnToken = T_RETURN;
$tokens = token_get_all($source);
foreach ($tokens as $key => $token)
{
if (is_array($token))
{
if (($token[0] == $returnToken))
{
// found return, now get what is returned?
}
else
{
$token = $token[1];
}
}
$newStr .= $token;
}
내가 어떻게 코드의 조각을 얻는 단서가 없다 실제로 반환됩니다. 그것이 내가 원하는 것입니다.
누구든지 내가 어떻게 할 수 있을지 생각해보십시오.
감사합니다. 나는 같은 생각을하고있었습니다. 이것이 최선의 방법이라고 생각합니다. 적어도 제 목적을 위해 잘 작동합니다. – Vivendi