2
PHP 소스 코드에서 중괄호 수를 계산하려고합니다. 따라서 결국 주어진 소스 코드에서 메소드/함수의 끝을 찾을 수 있습니다.token_get_all() 함수가 제대로 작동하지 않습니다.
이 작업에 token_get_all()
기능을 사용하는 것이 좋습니다. 그러나 어떤 이유로 그것은 주어진 소스를 토큰으로 분할하지 않습니다.
<?php
$str = 'class someClass{
public $var1;
private $var2 = null;
public function func1 ($someVar)
{
echo $someVar;
}
public function func2 ()
{
return false;
}
}';
$bla = token_get_all ($str);
echo '<pre>';
print_r ($bla);
echo '</pre>';
?>
을하지만이 결과 :
나는 그것을 테스트하기 위해 다음 코드를 사용하고 그래서 지금
Array
(
[0] => 311
[1] => class someClass{
public $var1;
private $var2 = null;
public function func1 ($someVar)
{
echo $someVar;
}
public function func2 ()
{
return false;
}
}
[2] => 1
)
내가 좀이 붙어 있어요. token_get_all()
이 주어진 소스 코드를 토큰 화하지 않는 이유는 무엇입니까?
닫는 중괄호는 함수의 것뿐만 아니라 다른 블록의 끝을 표시하므로 카운트하지 마십시오. 'T_FUNCTION' 토큰을 찾으세요 ;-) 모든 토큰을 가진 다른 토큰들에 관심이 있다면 (http://www.php.net/manual/en/tokens.php) tokenizer는 인식합니다. – Havelock