What is the output of the following code?
class C {
public $x = 1;
function __construct() { ++$this->x; }
function __invoke() { return ++$this->x; }
function __toString() { return (string) --$this->x; }
$obj = new C();
echo $obj();
Answer : D
Consider the following code. Which keyword should be used in the line marked with
"KEYWORD" instead of "self" to make this code work as intended? abstract class Base { protected function __construct() { public static function create() { return new self(); // KEYWORD abstract function action(); class Item extends Base { public function action() { echo __CLASS__; }
$item = Item::create();
$item->action(); // outputs "Item"
Answer : static
Which SPL class implements fixed-size storage?
Answer : SplFixedArray
In order to create an object storage where each object would be stored only once, you may use which of the following? (Choose 2)
Answer : BD
What is the output of the following code?
class Base {
protected static function whoami() {
echo "Base ";
public static function whoareyou() {
static::whoami();
class A extends Base {
public static function test() {
Base::whoareyou();
self::whoareyou();
parent::whoareyou();
Answer : C
Late static binding is used in PHP to:
Answer : B
What is the output of the following code?
class Test {
public function __call($name, $args)
call_user_func_array(array('static', "test$name"), $args);
public function testS($l) {
echo "$l,";
class Test2 extends Test {
public function testS($l) {
echo "$l,$l,";
$test = new Test2();
$test->S('A');
Answer : B
Which of the following tasks can be achieved by using magic methods? (Choose 3)
Answer : ADF
How should class MyObject be defined for the following code to work properly? Assume
$array is an array and MyObject is a user-defined class.
$obj = new MyObject();
array_walk($array, $obj);
Answer : D
Consider the following code. What change must be made to the class for the code to work as written? class Magic { protected $v = array("a" => 1, "b" => 2, "c" => 3); public function __get($v) { return $this->v[$v];
$m = new Magic();
$m->d[] = 4;
echo $m->d[0];
Answer : D
SimpleXML provides the ability to iterate over items in an XML document, as well as access items within it as if they were object properties. When creating your own classes to access data, implementing which of the following would NOT achieve this goal?
Answer : A
Which of the following is used to find all PHP files under a certain directory?
Answer : C
Which PHP function is used to validate whether the contents of
$_FILES['name']['tmp_name'] have really been uploaded via HTTP?
Answer : is_uploaded_file(), is_uploaded_file
Which PHP function is used to validate whether the contents of
$_FILES['name']['tmp_name'] have really been uploaded via HTTP, and also save the contents into another folder?
Answer : move_uploaded_file(), move_uploaded_file
What is the name of the key for the element in $_FILES['name'] that contains the provisional name of the uploaded file?
Answer : tmp_name
Have any questions or issues ? Please dont hesitate to contact us