Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
--TEST-- ReflectionMethod::getDocComment() uses wrong comment block --INI-- opcache.save_c..
Decoded Output download
--TEST--
ReflectionMethod::getDocComment() uses wrong comment block
--INI--
opcache.save_comments=1
--FILE--
<?php
function strip_doc_comment($c)
{
if (!strlen($c) || $c === false) return $c;
return trim(substr($c, 3, -2));
}
/** Comment for class A */
class A
{
/** Method A::bla()
*/
function bla()
{
}
function foo() {
/**
* This is a valid comment inside a method
*/
}
function bar() {
// I don't have a doc comment....
}
/**
* Comment for A::baz()
*/
function baz() {
}
}
$r = new ReflectionClass('A');
var_dump(strip_doc_comment($r->getDocComment()));
foreach($r->getMethods() as $m)
{
var_dump(strip_doc_comment($m->getDocComment()));
}
?>
--EXPECT--
string(19) "Comment for class A"
string(15) "Method A::bla()"
bool(false)
bool(false)
string(22) "* Comment for A::baz()"
Did this file decode correctly?
Original Code
--TEST--
ReflectionMethod::getDocComment() uses wrong comment block
--INI--
opcache.save_comments=1
--FILE--
<?php
function strip_doc_comment($c)
{
if (!strlen($c) || $c === false) return $c;
return trim(substr($c, 3, -2));
}
/** Comment for class A */
class A
{
/** Method A::bla()
*/
function bla()
{
}
function foo() {
/**
* This is a valid comment inside a method
*/
}
function bar() {
// I don't have a doc comment....
}
/**
* Comment for A::baz()
*/
function baz() {
}
}
$r = new ReflectionClass('A');
var_dump(strip_doc_comment($r->getDocComment()));
foreach($r->getMethods() as $m)
{
var_dump(strip_doc_comment($m->getDocComment()));
}
?>
--EXPECT--
string(19) "Comment for class A"
string(15) "Method A::bla()"
bool(false)
bool(false)
string(22) "* Comment for A::baz()"
Function Calls
None |
Stats
MD5 | 891f64ee40fc727421925b6aab446297 |
Eval Count | 0 |
Decode Time | 81 ms |