Если в классе определен конструктор с параметрами, а при создании экземпляра параметры не были указаны, то:
Если в классе определен деструктор с параметрами:
NULL 
Если в классе определены два метода с одинаковыми именами и разными списками параметров:
Значением поля класса по умолчанию может являться
Значением поля класса по умолчанию может являться
Если в классе определен конструктор без параметров, а при создании экземпляра параметры были указаны, то:
К статическим функциям, определенным в некотором классе, следует обращаться как:
$имя_экземпляра_класса -> имя_функции() 
$имя_экземпляра_класса :: имя_функции() 
имя_класса -> имя_функции() 
имя_класса -> имя_функции() 
Для клонирования объекта следует:
clone 
__clone() как $имя_объекта->__clone() 
__clone() как $имя_объекта :: __clone() 
__clone() как имя_класса :: __clone() 
Для преобразования объекта в строку (метод __toString() переопределен для корректного преобразования) следует:
__toString() как $имя_объекта->__ toString() 
__ toString() как $имя_объекта :: __ toString() 
__ toString() как имя_класса :: __ toString() 
Если при создании копии объекта для него не был объявлен метод __clone(), то:
При клонировании объекта методом по умолчанию:
public и protected поля объекта 
public поля объекта 
К константам, определенным в некотором классе, следует обращаться как:
$имя_экземпляра_класса -> имя_константы 
$имя_экземпляра_класса :: имя_константы  
имя_класса -> имя_константы 
имя_класса -> имя_константы 
Сценарий PHP содержит следующий код:<?php class cFoo { function ~cFoo() {echo "был вызван деструктор";} function __construct() {echo "|был вызван конструктор|";} } $bar = new cFoo(); ?> Укажите результат выполнения сценария:
|был вызван конструктор| 
|был вызван конструктор|был вызван деструктор 
Сценарий PHP содержит следующий код:<?php class cFoo { public $Count = 0; function __destruct() {$this->Count++;} function __construct() {$this->Count++;} } $bar = new cFoo(); echo $bar->Count; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public $Count = 0; function __destruct() {$this->Count++;} function __construct() {$this->Count++;} function __cFoo() {$this->Count++;} } $bar = new cFoo(); echo $bar->Count; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { function cFoo() {echo "была вызвана функция cFoo()";} function __construct() {echo "была вызвана функция __construct()";} } $bar = new cFoo(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { function __destruct() {echo "была вызвана функция __destruct()";} function cFoo() {echo "|была вызвана функция cFoo()|";} } $bar = new cFoo(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { function ~cFoo() {echo "был вызван деструктор";} function cFoo() {echo "|был вызван конструктор|";} } $bar = new cFoo(); ?> Укажите результат выполнения сценария:
Для вывода названия компании бы разработан следующий код:<?php class cCompanyName { const COMPANY_NAME = "ООО 'Туманный Альбион'"; } $foo = new cCompanyName(); echo $foo :: COMPANY_NAME; ?> В процессе выполнения сценария происходит ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности кода:
public для предоставления доступа к ней извне класса 
" :: ", а " . "  
" :: ", а " -> "  
" имя_класса::имя_константы" 
Для вывода количества месяцев в году бы разработан следующий код:<?php class cMonthCount { const MONTH_IN_A_YEAR = 12; } $foo = new cMonthCount(); echo $foo.MONTH_IN_A_YEAR; ?> В процессе выполнения сценария происходит ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности кода:
public для предоставления доступа к ней извне класса 
" :: ", а " . "  
" :: ", а " -> "  
" имя_класса::имя_константы" 
Для вывода количества дней в неделе бы разработан следующий код:<?php class cDayCount { const DAY_IN_A_WEEK = 7; } $foo = new cDayCount(); echo $foo :: DAY_IN_A_WEEK; ?> В процессе выполнения сценария происходит ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности кода:
public для предоставления доступа к ней извне класса 
" :: ", а " . "  
" :: ", а " -> "  
" имя_класса::имя_константы" 
Для вывода значения числа (округленного до 3.14) бы разработан следующий код:<?php class cPiProvider { const PI_VALUE = 3.14; } $foo = new cPiProvider(); echo $foo->PI_VALUE; ?> Результатом выполнения сценария является пустая строка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректной работы программы:
public для предоставления доступа к ней извне класса 
" -> ", а " . "  
" -> ", а " :: "  
" имя_класса::имя_константы" 
Для вывода названия страны бы разработан следующий код:<?php class cCountryName { const COUNTRY_NAME = "Россия"; } $foo = new cCountryName(); echo $foo :: COUNTRY_NAME; ?> В процессе выполнения сценария происходит ошибка парсера. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности кода:
public для предоставления доступа к ней извне класса 
" -> ", а " . "  
" -> ", а " :: "  
" имя_класса::имя_константы" 
Для вывода названия города бы разработан следующий код:<?php class cCityName { const CITY_NAME = "Москва"; } $foo = new cCityName(); echo $foo.CITY_NAME; ?> В процессе выполнения сценария происходит ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности кода:
public для предоставления доступа к ней извне класса 
" -> ", а " . "  
" -> ", а " :: "  
" имя_класса::имя_константы" 
Был разработан код класса, заменяющий стандартный типArray. Код сценария, тестирующего работу нового класса:<?php class cNewArray { public $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ } $foo = new cNewArray(34); echo $foo.Num; ?> Укажите результат выполнения сценария:
Был разработан код класса, заменяющий стандартный типArray. Код сценария, тестирующего работу нового класса:<?php class cNewArray { public $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ } $foo = new cNewArray(14); echo $foo :: Num; ?> Укажите результат выполнения сценария:
Был разработан код класса, заменяющий стандартный типArray. Код сценария, тестирующего работу нового класса:<?php class cNewArray { public $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ } $foo = new cNewArray; echo $foo->Num; ?> Укажите результат выполнения сценария:
Был разработан код класса, заменяющий стандартный типArray. Для удобства переноса старого кода, в котором использовался стандартный тип, под новую архитектуру приложения имя класса решили оставить таким же. Код сценария, тестирующего работу нового класса:<?php class Array { public $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ function getNum(){return $this->Num;} } $foo = new Array(12); echo $foo->getNum(); ?> Укажите результат выполнения сценария:
Был разработан код класса, заменяющий стандартный типArray. Код сценария, тестирующего работу нового класса:<?php class cNewArray { protected $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ } $foo = new cNewArray(2); echo $foo->Num; ?> Укажите результат выполнения сценария:
Был разработан код класса, заменяющий стандартный типArray. Код сценария, тестирующего работу нового класса:<?php class cNewArray { private $Num = 0; function __construct($_Num){$this->Num = $_Num;} /*…методы и поля, описывающие новую функциональность…*/ } $foo = new cNewArray(2); echo $foo->Num; ?> Укажите результат выполнения сценария:
Для разрешения доступа к методу только из класса, который этот метод содержит, используется модификатор
protected 
closed 
public 
private 
Для разрешения доступа к методу из класса, который этот метод содержит, или из классов-потомков используется модификатор
protected 
shared 
public 
private 
Для разрешения доступа к методу из любой области видимости используется модификатор
protected 
open 
public 
private 
Для разрешения доступа к полю только из класса, который это поле содержит, используется модификатор
protected 
closed 
public 
private 
Для разрешения доступа к полю из класса, который это поле содержит, или из классов-потомков используется модификатор
protected 
closed 
public 
private 
Для разрешения доступа к полю из любой области видимости используется модификатор
protected 
closed 
public 
private 
Сценарий PHP содержит следующий код:<?php class cFoo { public function priv(){return "закрытый";} public function prot(){return "защищенный";} } $foo = new cFoo(); echo $foo->priv()." ".$foo->prot(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public function publ(){return "открытый";} public function priv(){return "закрытый";} } $foo = new cFoo(); echo $foo->priv()." ".$foo->publ(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public function publ(){return "открытый";} public function priv(){return "закрытый";} } $foo = new cFoo(); echo $foo->priv()." ".$foo->publ(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public function publ(){return "открытый";} private function priv(){return "закрытый";} } $foo = new cFoo(); echo $foo->publ()." ".$foo->priv(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public function publ(){return "открытый";} protected function prot(){return "защищенный";} } $foo = new cFoo(); echo $foo->publ()." ".$foo->prot(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php $a = 1; $b = 2; echo $c += ($a += (int) 14.5/5) + ($b -= (2 + 1) % - 3); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { protected $protected = "защищенный"; public $private = "закрытый"; function GetContents(){return $this->protected." ".$this->private;} } $foo = new cFoo(); echo $foo->GetContents()." ".$foo->private; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public $public = "открытый"; public $protected = "защищенный"; function GetContents(){return $this->protected." ".$this->public;} } $foo = new cFoo(); echo $foo->GetContents()." ".$foo->public; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public $public = "открытый"; public $private = "закрытый"; function GetContents(){return $this->private." ".$this->public;} } $foo = new cFoo(); echo $foo->GetContents()." ".$foo->public; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { private $private = "закрытый"; public $public = "открытый"; function GetContents(){return $this->private." ".$this->public;} } $foo = new cFoo(); echo $foo->GetContents()." ".$foo->private." ".$foo->public; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { protected $protected = "защищенный"; public $public = "открытый"; function GetContents(){return $this->protected." ".$this->public;} } $foo = new cFoo(); echo $foo->GetContents()." ".$foo->protected." ".$foo->public; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { protected $protected = "защищенный"; private $private = "закрытый"; function GetContents(){return $this->protected." ".$this->private;} } $foo = new cFoo(); echo $foo->GetContents()." ".$foo->protected." ".$foo->private; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { protected function GetProtected(){echo "защищенный ";} public function GetPrivate(){echo "закрытый ";} function GetAll(){$this->GetProtected();$this->GetPrivate();} } $foo = new cFoo(); $foo->GetAll();$foo->GetPrivate(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public function GetPublic(){echo "открытый ";} public function GetProtected(){echo "защищенный ";} function GetAll(){$this->GetProtected();$this->GetPublic();} } $foo = new cFoo(); $foo->GetAll();$foo->GetPublic(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public function GetPublic(){echo "открытый ";} public function GetPrivate(){echo "закрытый ";} function GetAll(){$this->GetPrivate();$this->GetPublic();} } $foo = new cFoo(); $foo->GetAll();$foo->GetPublic(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { private function GetPrivate(){echo "закрытый ";} public function GetPublic(){echo "открытый ";} function GetAll(){$this->GetPrivate();$this->GetPublic();} } $foo = new cFoo(); $foo->GetAll();$foo->GetPublic(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { protected function GetProtected(){echo "защищенный ";} public function GetPublic(){echo "открытый ";} function GetAll(){$this->GetProtected();$this->GetPublic();} } $foo = new cFoo(); $foo->GetAll();$foo->GetPublic(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { protected function GetProtected(){echo "защищенный ";} private function GetPrivate(){echo "закрытый ";} function GetAll(){$this->GetProtected();$this->GetPrivate();} } $foo = new cFoo(); $foo->GetAll();$foo->GetPrivate(); ?> Укажите результат выполнения сценария:
Чтобы запретить доступ к методу в производных классах, следует:
protected 
private 
final 
closed 
Чтобы при иметь возможность в производном классе задействовать функциональность private метода базового класса, следует при описании базового класса:
parent::имя_метода() 
self::имя_метода() 
$this->имя_метода() 
Чтобы сохранить доступность метода в производных классах, не запрещая его переопределение, следует:
private метод в public метод 
private метод в protected метод 
Чтобы сохранить доступность метода в производных классах, но запретить его переопределение, следует:
protected 
private 
final 
closed 
Чтобы сохранить доступность метода в производных классах, не запрещая его переопределение, следует:
protected 
private 
final 
closed 
Чтобы сохранить доступность метода в производных классах, не запрещая его переопределение, следует:
protected 
public 
final 
closed 
Сценарий PHP содержит следующий код:<?php class cBar1 { public $_public = "открытый"; public $_protected = "защищенный"; public function _private(){return "закрытый";} } class cBar2 extends cBar1 { function View(){echo $this->_public." ".$this->_protected." ".$this->_private(); } } $foo = new cBar2; $foo->View(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBar1 { protected $_public = "открытый"; private $_protected = "защищенный"; public function _private(){return "закрытый";} } class cBar2 extends cBar1 { function View(){echo $this->_public." ".$this->_protected." ".$this->_private(); } } $foo = new cBar2; $foo->View(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBar1 { private $_public = "открытый"; public $_protected = "защищенный"; protected function _private(){return "закрытый";} } class cBar2 extends cBar1 { function View(){echo $this->_public." ".$this->_protected." ".$this->_private(); } } $foo = new cBar2; $foo->View(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBar1 { public $a = "a"; protected $b = "b"; private function c(){return "c";} } class cBar2 extends cBar1 { function View() { echo $this->a." ".$this->b." ".$this->c(); } } $foo = new cBar2; $foo->View(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBar1 { public $publ = "открытый"; protected $prot = "защищенный"; private function priv(){return "закрытый";} } class cBar2 extends cBar1 { function View() { echo $this->publ." ".$this->prot." ".$this->priv(); } } $foo = new cBar2; $foo->View(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBar1 { public $publ = "открытый"; public $prot = "защищенный"; private function priv(){return "закрытый";} } class cBar2 extends cBar1 { function View() { echo $this->publ." ".$this->prot." ".$this->priv(); } } $foo = new cBar2; $foo->View(); ?> Укажите результат выполнения сценария:
Для расширения функциональности классаcCalculationбыл разработан классcCalculationLogged. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Calculation.php:<?php class cCalculation { /*базовая функциональность*/ public $Fed = TRUE; protected $DataPath = ""; private $CalcId; function __construct($_DataPath,$_CalcId) { if($_DataPath=="") { $this->Fed = FALSE; } else $this->DataPath = $_DataPath; $this->CalcId = $_CalcId; } } class cCalculationLogged extends cCalculation { /*расширенная функциональность*/ protected $LogPath; function __construct($_DataPath,$_CalcId,$_LogPath) { ___; $this->LogPath = $_LogPath; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$this->__construct($_DataPath,$_CalcId) 
$parent->__construct($_DataPath,$_CalcId) 
parent::__construct($_DataPath,$_CalcId) 
self:: __construct($_DataPath,$_CalcId) 
private в родительском классе недоступно из производного класса 
Для расширения функциональности классаcWorkerбыл разработан классcManager. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Worker.php:<?php class cWorker { /*базовая функциональность*/ public $Active = TRUE; protected $Salary = 0; private $FullName; function __construct($_Salary,$_FullName) { if($_Salary<=0) { $this->Active = FALSE; } else $this->Salary = $_Salary; $this->FullName = $_FullName; } } class cManager extends cWorker { /*расширенная функциональность*/ protected $SubordinatesCount; function __construct($_Salary,$_FullName,$_SubordinatesCount) { ___; $this->SubordinatesCount = $_SubordinatesCount; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$this->__construct($_Salary,$_FullName) 
$parent->__construct($_Salary,$_FullName) 
parent::__construct($_Salary,$_FullName) 
self:: __construct($_Salary,$_FullName) 
private в родительском классе недоступно из производного класса 
Для расширения функциональности классаcEntityбыл разработан классcEntityRendered. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Entity.php:<?php class cEntity { /*базовая функциональность*/ public $Exists = TRUE; protected $Complexity = 0; private $Name; function __construct($_Complexity,$_Name) { if($_Complexity<=1) { $this->Exists = FALSE; } else $this->Complexity = $_Complexity; $this->Name = $_Name; } } class cEntityRedered extends cEntity { /*расширенная функциональность*/ protected $RenderPath; function __construct($_Complexity,$_Name,$_RenderPath) { ___; $this->RenderPath = $_RenderPath; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$this->__construct($_Complexity,$_Name) 
$parent->__construct($_Complexity,$_Name) 
parent::__construct($_Complexity,$_Name) 
self:: __construct($_Complexity,$_Name) 
private в родительском классе недоступно из производного класса 
Для расширения функциональности классаcFunctionalбыл разработан классcFunctionalExtended. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Functional.php:<?php class cFunctional { /*базовая функциональность*/ public $LastWarning; protected $Mode; private $TempFilename; function __construct($_Mode,$_TempFilename) { if($_Mode<=0) { $this->Mode = 0; $this->LastWarning = "Invalid mode, mode set to 0"; } else $this->Mode = $_Mode; $this->TempFilename = $_TempFilename; } } class cFunctionalExtended extends cFunctional { /*расширенная функциональность*/ protected $AdditionalData; function __construct($_Mode,$_TempFilename,$_AdditionalData) { ___; $this->AdditionalData = $_AdditionalData; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$this->__construct($_Mode,$_TempFilename) 
$parent->__construct($_Mode,$_TempFilename) 
parent::__construct($_Mode,$_TempFilename) 
self:: __construct($_Mode,$_TempFilename) 
private в родительском классе недоступно из производного класса 
Для расширения функциональности классаcTemplateбыл разработан классcTemplateExtended. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Template.php:<?php <?php class cTemplate { /*базовая функциональность*/ public $LastWarning; protected $TType; private $XMLStr; function __construct($_TType,$_XMLStr) { if($_TType=="") { $this->TType = "simple"; $this->LastWarning = "Invalid type, type set to 'simple'"; } else $this->TType = $_TType; $this->XMLStr = $_XMLStr; } } class cTemplateExtended extends cTemplate { /*расширенная функциональность*/ protected $AdditionalParams; function __construct($_TType,$_XMLStr,$_AdditionalParams) { ___; $this->AdditionalParams = $_AdditionalParams; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$this->__construct($_TType,$_XMLStr) 
$parent->__construct($_TType,$_XMLStr) 
parent::__construct($_TType,$_XMLStr) 
self:: __construct($_TType,$_XMLStr) 
private в родительском классе недоступно из производного класса 
Для расширения функциональности классаcExampleбыл разработан классcExampleAdvanced. Конструктор нового класса не изменяет способ генерации значений полей родителя при создании объекта, поэтому было принято решение повторно использовать старый код. Содержимое файла class.Example.php:<?php class cExample { /*базовая функциональность*/ public $OK; protected $LessonNum; private $ExampleString; function __construct($_LessonNum,$_ExampleString) { if($_LessonNum<1) { $this->LessonNum = 1; $this->OK = "Wrong lesson number, set to 1st"; } else $this->LessonNum = $_LessonNum; $this->ExampleString = $_ExampleString; } } class cExampleAdvanced extends cExample { /*расширенная функциональность*/ protected $Hints; function __construct($_LessonNum,$_ExampleString,$_Hints) { ___; $this->Hints = $_Hints; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$this->__construct($_LessonNum,$_ExampleString) 
$parent->__construct($_LessonNum,$_ExampleString) 
parent::__construct($_LessonNum,$_ExampleString) 
self:: __construct($_LessonNum,$_ExampleString) 
private в родительском классе недоступно из производного класса 
Сценарий PHP содержит следующий код:<?php class cBase { private function f() {echo "base";} } class cDerivative extends cBase { function f () {echo "derivative";} } $der = new cDerivative; $der->f (); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBase { protected function f() {echo "base";} public function g() {$this->f();} } class cDerivative extends cBase { function g() {echo "derivative";} } $der = new cDerivative; $der->g(); ?> Укажите результат выполнения сценария:
base 
derivative 
Сценарий PHP содержит следующий код:<?php class cParent { private function f() {echo "parent";} public function g() {$this->f();} } class cChild extends cParent { function g() {echo "child";} } $der = new cChild; $der->g(); ?> Укажите результат выполнения сценария:
parent 
child 
Сценарий PHP содержит следующий код:<?php class cFoo1 { function bar() {echo "bar1";} } class cFoo2 extends cFoo1 { function bar() {echo "bar2";} } $foo = new cFoo2; $foo->bar(); ?> Укажите результат выполнения сценария:
bar1 
bar2 
Сценарий PHP содержит следующий код:<?php class cBase { function foo() {echo 1;} } class cDerivative extends cBase { function foo() {echo 2;} } $der = new cDerivative; $der->foo(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cParent { protected function func() {echo "родитель";} } class cChild extends cParent { function func() {echo "потомок";} } $der = new cChild; $der->func(); ?> Укажите результат выполнения сценария:
Если в классе не объявлен абстрактный метод, а сам класс объявлен абстрактным, то
Если в классе объявлен абстрактный метод, а сам класс не объявлен абстрактным, то
Если метод объявлен абстрактным, то его тело
Если класс объявлен абстрактным, то
Если в классе объявлен абстрактный метод, то
Если в классе объявлен абстрактный метод, то
Проверка на совместимость типов производится с помощью оператора
like 
is 
instanceof 
Положительный результат выполнения проверки на совместимость типов оператором instanceof означает, что
instanceof 
Если классfooявляется потомком классаbar, а переменная$aимеет классfoo, то выражение$a instanceof "foo"будет равно:
true 
false 
instanceof 
Абстрактный класс объявляется с помощью ключевого слова
abstract 
virtual 
sealed 
pure 
Абстрактный метод объявляется с помощью ключевого слова
abstract 
virtual 
sealed 
pure 
Абстрактное поле объявляется с помощью ключевого слова
abstract 
virtual 
sealed 
Сценарий PHP содержит следующий код:<?php abstract class cAbstractClass { function f() {echo "этот класс является абстрактным";} } $foo = new cAbstractClass; $foo->f(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cAbstractClass { abstract function f() {echo "этот класс является абстрактным";} } $foo = new cAbstractClass; $foo->f(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cAbstractClass { abstract function f(); } $foo = new cAbstractClass; $foo->f(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cFoo { function bar() {echo "bar";} } $foo = new cFoo; $foo->bar(); ?> Укажите результат выполнения сценария:
bar 
abstract 
Сценарий PHP содержит следующий код:<?php class cFoo { abstract function bar() {echo "bar";} } $foo = new cFoo; $foo->bar(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cFoo { abstract function bar() {echo "bar";} } $foo = new cFoo; $foo->bar(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { private $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative1 extends cBase { function ShowData(){return $this->Data."&";} } class cDerivative2 extends cBase { function ShowData(){return $this->Data."U";} } $foo = new cDerivative1(2); $bar = new cDerivative2(4); echo $bar->ShowData().$bar->ShowData().$foo->ShowData().$bar->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { private $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative1 extends cBase { function ShowData(){return $this->Data."&";} } class cDerivative2 extends cBase { function ShowData(){return $this->Data."U";} } $foo = new cDerivative1(6); $bar = new cDerivative2(3); echo $foo->ShowData().$bar->ShowData().$foo->ShowData().$foo->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { private $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative1 extends cBase { function ShowData(){return $this->Data."U";} } class cDerivative2 extends cBase { function ShowData(){return $this->Data."&";} } $foo = new cDerivative2(3); $bar = new cDerivative1(1); echo $foo->ShowData().$bar->ShowData().$foo->ShowData().$foo->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { private $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative1 extends cBase { function ShowData(){return $this->Data."0";} } class cDerivative2 extends cBase { function ShowData(){return $this->Data."-";} } $foo = new cDerivative1(2); $bar = new cDerivative2(4); echo $foo->ShowData().$foo->ShowData().$bar->ShowData().$foo->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative1 extends cBase { function ShowData(){return $this->Data."0";} } class cDerivative2 extends cBase { function ShowData(){return $this->Data."-";} } $foo = new cDerivative1(3); $bar = new cDerivative2(5); echo $bar->ShowData().$foo->ShowData().$foo->ShowData().$bar->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative1 extends cBase { function ShowData(){return $this->Data."-";} } class cDerivative2 extends cBase { function ShowData(){return $this->Data."0";} } $foo = new cDerivative1(1); $bar = new cDerivative2(7); echo $foo->ShowData().$bar->ShowData().$foo->ShowData().$bar->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this-"Data = $_Data;} final function ShowData(); } class cDerivative extends cBase { function ShowData(){return "значение равно ".$this-"Data;} } $foo = new cDerivative(3); echo $foo-"ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { private $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "значение равно ".$this->Data;} } $foo = new cDerivative(3); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { private $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "значение равно ".$this->Data;} } $foo = new cDerivative(12); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} virtual function ShowData(); } class cDerivative extends cBase { function ShowData(){return "Data = ".$this->Data;} } $foo = new cDerivative(5); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
Data = 5 
Data = 0 
Data =  
virtual 
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "this is ".$this->Data;} } $foo = new cDerivative(34); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
this is 34 
this is 0 
this is  
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} function ShowData(); } class cDerivative extends cBase { function ShowData(){return "this is ".$this->Data;} } $foo = new cDerivative(11); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
this is 34 
this is 0 
this is  
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "Я ".$this->Data;} } $foo = new cDerivative("потомок класса cBase"); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
abstract 
Сценарий PHP содержит следующий код:<?php abstract class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "I am ".$this->Data;} } $foo = new cDerivative("Derivative"); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
I am Derivative 
I am 
abstract 
Сценарий PHP содержит следующий код:<?php class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "Я ".$this->Data;} } $foo = new cDerivative("derivative"); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
Я derivative 
Я  
abstract 
Сценарий PHP содержит следующий код:<?php sealed class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "I am a ".$this->Data;} } $foo = new cDerivative("dog"); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
I am a dog 
I am a 
sealed 
abstract 
Сценарий PHP содержит следующий код:<?php virtual class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} abstract function ShowData(); } class cDerivative extends cBase { function ShowData(){return "I am a ".$this->Data;} } $foo = new cDerivative("cat"); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
I am a cat 
I am a 
sealed 
abstract 
Сценарий PHP содержит следующий код:<?php virtual class cBase { protected $Data; function __construct($_Data){$this->Data = $_Data;} virtual function ShowData(); } class cDerivative extends cBase { function ShowData(){return "I am a ".$this->Data;} } $foo = new cDerivative("programmer"); echo $foo->ShowData(); ?> Укажите результат выполнения сценария:
I am a programmer 
I am a 
virtual 
abstract 
Если требуется сделать класс потомком нескольких родителей, нужно использовать:
Интерфейс в PHP объявляется с помощью ключевого слова:
interface 
view 
abstract 
virtual 
Если класс, реализующий интерфейс, содержит определение не всех методов, заявленных в интерфейсе, то:
Интерфейсы отличаются от абстрактных классов:
Из приведенных ниже высказываний укажите истинное:
Из приведенных ниже высказываний укажите истинное:
Сценарий PHP содержит следующий код:<?php interface iBar { public $some_data; function functional(); } class cBar implements iBar { function functional(){return $this->some_data;} } $foo = new cBar; $foo->some_data = "некоторые данные"; echo $foo->functional(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iBar { public $smth; function functional(); } class cBar implements iBar { function functional(){return $this->smth;} } $foo = new cBar; $foo->smth = "строка"; echo $foo->functional(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iB { protected $smth; function f (); } class cBar implements iB { function f (){return $this->smth;} } $foo = new cBar; $foo->smth = "строковые данные"; echo $foo->f (); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iBase { public $Field; abstract function DoSmth(); } class cFoo implements iBase { function DoSmth(){return $this->Field;} } $foo = new cFoo; $foo->Field = 123; echo $foo->DoSmth(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iMyInterface { public $Data; function func(); } class cImpl implements iMyInterface { function func(){return $this->Data;} } $foo = new cImpl; $foo->Data = 1; echo $foo->func(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iInterface { public $D; function f (); } class cBar implements iInterface { function f (){return $this->D;} } $foo = new cBar; $foo->D = "данные"; echo $foo->f(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iInterface1 { abstract function f1(); } interface iInterface2 { function f2(); } class cFoo implements iInterface1,iInterface2 { function f1(){echo "реализация ";} function f2(){echo "интерфейса";} } $foo = new cFoo; $foo->f1();$foo->f2(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iI1 { function f1(); } interface iI2 { abstract function f2(); } class cFoo implements iI1,iI2 { function f1(){echo 12;} function f2(){echo 23;} } $foo = new cFoo; $foo->f1();$foo->f2(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iI1 { function f1(); } interface iI2 { function f2(); } class cFoo implements iI1,iI2 { function f1(){echo 123;} function f2(){echo "abc";} } $foo = new cFoo; $foo->f1();$foo->f2(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iB1 { abstract function F1(); } interface iB2 { abstract function F2(); } class cFoo implements iB1,iB2 { function F1(){echo 1;} function F2(){echo 2;} } $foo = new cFoo; $foo->F1();$foo->F2(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface i1 { function func1(); } interface i2 { function func2(); } class cFoo implements i1,i2 { function func1(){echo 1;} function func2(){echo 2;} } $foo = new cFoo; $foo->func1();$foo->func2(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iInterface1 { function f1(); } interface iInterface2 { function f2(); } class cFoo implements iInterface1,iInterface2 { function f1(){echo "интерфейс ";} function f2(){echo "реализован";} } $foo = new cFoo; $foo->f1();$foo->f2(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php interface iInterf { abstract function f (); } ___ { protected $Data; function __construct($_D){$this->Data = $_D;} } class cBar extends cFoo { function f (){echo $this->Data;} } $foo = new cBar("реализация интерфейса"); $foo->f (); ?> Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом сценария будет строка "реализация интерфейса":
class cFoo implements iInterf 
class cFoo extends iInterf 
abstract class cFoo implements iInterf 
abstract class cFoo extends iInterf 
Сценарий PHP содержит следующий код:<?php interface i { function f (); } ___ { private $Data; function __construct($_D){$this->Data = $_D;} } class cBar extends cFoo { function f (){echo $this->Data;} } $foo = new cBar("реализация интерфейса"); $foo->f (); ?> Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом сценария будет строка "реализация интерфейса":
class cFoo implements i 
class cFoo extends i 
abstract class cFoo implements i 
abstract class cFoo extends i 
Сценарий PHP содержит следующий код:<?php interface i { function f (); } ___ { protected $Data; function __construct($_D){$this->Data = $_D;} } class cBar extends cFoo { function f (){echo $this->Data;} } $foo = new cBar("реализация интерфейса"); $foo->f (); ?> Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом сценария будет строка "реализация интерфейса":
class cFoo implements i 
class cFoo extends i 
abstract class cFoo implements i 
abstract class cFoo extends i 
Сценарий PHP содержит следующий код:<?php interface iTheF { function F(); } ___ { protected $D; function __construct($_D){$this->D = $_D;} } class cBar extends cFoo { function F(){echo $this->D;} } $foo = new cBar(24); $foo->F(); ?> Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом сценария будет строка "24":
class cFoo implements iTheF 
class cFoo extends iTheF 
abstract class cFoo implements iTheF 
abstract class cFoo extends iTheF 
Сценарий PHP содержит следующий код:<?php interface iMyInterface { function func(); } ___ { protected $D; function __construct($_D){$this->D = $_D;} } class cBar extends cFoo { function func(){echo $this->D;} } $foo = new cBar(12); $foo->func(); ?> Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом сценария будет строка "24":
class cFoo implements iMyInterface 
class cFoo extends iMyInterface 
abstract class cFoo implements iMyInterface 
abstract class cFoo extends iMyInterface 
Сценарий PHP содержит следующий код:<?php interface iInterface { function f (); } ___ { protected $D; function __construct($_D){$this->D = $_D;} } class cBar extends cFoo { function f (){echo $this->D;} } $foo = new cBar("интерфейс реализован"); $foo->f (); ?> Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом сценария будет строка "интерфейс реализован":
class cFoo implements iInterface 
class cFoo extends iInterface 
abstract class cFoo implements iInterface 
abstract class cFoo extends iInterface 
Файл main.php подключает файлы a.php и b.php с помощью директивыrequire_once. И a.php, и b.php подключают файл c.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивыrequire. Во время выполнения сценария main.php:
Файл main.php подключает файлы script1.php и script2.php с помощью директивыinclude(сначала первый, потом второй). Файл script1.php подключает файл basescript.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивыinclude, а script2.php - с помощью директивыinclude_once. Во время выполнения сценария main.php:
Файл main.php подключает файлы script1.php и script2.php с помощью директивыinclude(сначала первый, потом второй). Файл script2.php подключает файл basescript.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивыinclude, а script1.php - с помощью директивыinclude_onceВо время выполнения сценария main.php:
Файл main.php подключает файлы additional1.php и additional2.php с помощью директивыinclude. И additional1.php, и additional2.php подключают файл common.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивыinclude. Во время выполнения сценария main.php:
Файл main.php подключает файлы add1.php и add2.php с помощью директивыrequire. И add1.php, и add2.php подключают файл base.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивыinclude. Во время выполнения сценария main.php:
Файл main.php подключает файлы first.php и second.php с помощью директивыinclude_once. И first.php, и second.php подключают файл third.php (содержащий некоторый набор констант и часто используемых функций) с помощью директивыinclude. Во время выполнения сценария main.php:
Сценарий PHP содержит следующий код:<?php class Class1 { function __construct(){echo "Class1 "; } } class Class2 extends Class1 { function __construct(){echo "Class2 "; } } class Class3 extends Class2 { function __construct(){echo "Class3 "; } } function __autoload($_class) { echo " !".$_class." ";} $a = new Class1; $b = new Class2; $c = new Class3; ?> Укажите результат выполнения сценария:
!Class1 !Class2 !Class3 
Class1 Class2 Class3 
Сценарий PHP содержит следующий код:<?php class C1 { function __construct(){echo "C1 "; } } abstract class C2 extends C1 { function __construct(){echo "C2 "; } } class C3 extends C2 { function __construct(){echo "C3 "; } } function __autoload($_class) { echo " !".$_class." ";} $a = new C1; $b = new C2; $c = new C3; ?> Укажите результат выполнения сценария:
C1 !C2 C3 
C1 C2 C3 
C1 C3 
Сценарий PHP содержит следующий код:<?php class One { function __construct(){echo "One "; } } class Two { function __construct(){echo "Two "; } } class Three { function __construct(){echo "Three "; } } function __autoload($_class) { echo " !".$_class." ";} $a = new One; $b = new Two; $c = new Three; ?> Укажите результат выполнения сценария:
!One !Two !Three 
One Two Three 
Сценарий PHP содержит следующий код:<?php abstract class A { function __construct(){echo "A "; } abstract function foo(); } class B extends A { function __construct(){echo "B "; } function foo(){return 1;} } function __autoload($_class) { echo " !".$_class." ";} $a = new A; $b = new B; $c = new C; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class Foo { function __construct(){echo "Foo "; } function foo();{return 1;} } abstract class Bar extends Foo { function __construct(){echo "Bar "; } abstract function foo(); } function __autoload($_class) { echo " !".$_class." ";} $a = new Foo; $b = new Bar; $c = new Foobar; ?> Укажите результат выполнения сценария:
Foo Bar !Foobar 
Foo Bar 
!Foo Bar !Foobar 
Bar 
Сценарий PHP содержит следующий код:<?php class First { function __construct(){echo "First "; } } class Second extends First { function __construct(){echo "Second "; } } function __autoload($_class) { echo " !".$_class." ";} $a = new First; $b = new Second; $c = new Third; ?> Укажите результат выполнения сценария:
First Second !Third 
First Second 
Сценарий PHP содержит следующий код:<?php function __autoload($_class) { ___; } $foo = new class_MyTemplate; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему "class_", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
require ( "class.". $_class.".php") 
require_once( "class.". $_class.".php") 
require_once( "class.".substr($_class,6).".php") 
Сценарий PHP содержит следующий код:<?php function __autoload($_class) { ___; } $foo = new class_MyClass; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему "class_", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.c_название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
require ( "class.c_". $_class.".php") 
require_once( "class.c_". $_class.".php") 
require_once( "class.c_".substr($_class,6).".php") 
Сценарий PHP содержит следующий код:<?php function __autoload($_class) { ___; } $foo = new class_SimpleClass; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему "class_", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.the_название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
require ( "class.the_". $_class.".php") 
require_once( "class.the_". $_class.".php") 
require_once( "class.the_".substr($_class,6).".php") 
Сценарий PHP содержит следующий код:<?php function __autoload($_class) { ___; } $writer = new cWriter; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему символа "c", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
require ( "class.". $_class.".php") 
require_once( "class.". $_class.".php") 
require_once( "class.".substr($_class,1).".php") 
Сценарий PHP содержит следующий код:<?php function __autoload($_class) { ___; } $reader = new cReader; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему символа "c", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
require ( "class.". $_class.".php") 
require_once( "class.". $_class.".php") 
require_once( "class.".substr($_class,1).".php") 
Сценарий PHP содержит следующий код:<?php function __autoload($_class) { ___; } $a = new c_SomeClass; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему "c_", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
require ( "class.". $_class.".php") 
require_once( "class.". $_class.".php") 
require_once( "class.".substr($_class,2).".php") 
Если во внешней области видимости происходит попытка изменить значениеprivateполя класса, метод__set()которого определен:
__set() не произойдет, будет сгенерирована ошибка 
__set(), ошибки сгенерировано не будет 
__set(), но будет сгенерировано предупреждение 
Если во внешней области видимости происходит попытка получить значениеprotectedполя класса, метод__get()которого определен:
__get() не произойдет, будет сгенерирована ошибка 
__get(), ошибки сгенерировано не будет 
__get(), будет сгенерировано предупреждение 
Если во внешней области видимости происходит попытка изменить значениеprotectedполя класса, метод__set()которого определен:
__set() не произойдет, будет сгенерирована ошибка 
__set(), ошибки сгенерировано не будет 
__set(), но будет сгенерировано предупреждение 
Функциональность, описанная в определенном в методе класса __get() будет задействована:
Функциональность, описанная в определенном в методе класса __set() будет задействована:
Если во внешней области видимости происходит попытка получить значение private поля класса, метод __get() которого определен:
__get() не произойдет, будет сгенерирована ошибка 
__get(), ошибки сгенерировано не будет 
__get(), будет сгенерировано предупреждение 
Сценарий PHP содержит следующий код:<?php class MyClass { public $v =12; function __call($_name,$_args){$this->v--; echo " ".$this->v." ";} } $a = new MyClass(); echo $a->g()." ".$a->v." ".$a->f()." ".$a->v." ".$a->v." ".$a->v; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class AClass { public $v =15; function __call($_name,$_args){$this->v++; echo " ".$this->v." ";} } $a = new AClass(); echo $a->v." ".$a->s()." ".$a->f()." ".$a->v." ".$a->D()." ".$a->v; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class AClass { public $v =34; function __call($_name,$_args){$this->v--; echo " ".$this->v." ";} } $a = new AClass(); echo $a->d()." ".$a->v." ".$a->v." ".$a->v." ".$a->p()." ".$a->o(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { public $a = 10; function __call($_name,$_args){$this->a-=2; echo " ".$this->a." ";} } $foo = new cFoo(); echo $foo->a." ".$foo->q()." ".$foo->w()." ".$foo->a." ".$foo->e()." ".$foo->a; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBar { public $s = "F"; function __call($_name,$_args){$this->s.="o"; echo " ".$this->s." ";} } $bar = new cBar(); echo $bar->s." ".$bar->z()." ".$bar->x()." ".$bar->v()." ".$bar->s." ".$bar->s; ?> Укажите результат выполнения сценария:
F Fo Foo Fooo Fooo Fooo 
Fo Foo Fooo F Fooo Fooo 
F Fooo Foooo 
F Fooo Fooo 
Сценарий PHP содержит следующий код:<?php class A { public $s =1; function __call($_name,$_args){$this->s++; echo " ".$this->s." ";} } $a = new A(); echo $a->s." ".$a->s." ".$a->x()." ".$a->s." ".$a->s." ".$a->z(); ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class C { public $a = "public1"; private $b = "private2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $bar = new C(); $bar->a = "public2"; $bar->b = "private2"; $bar->c = "empty"; ?> Укажите результат выполнения сценария:
|a = "public2"||b = "private2"||c = "empty"| 
|b = "private2"||c = "empty"| 
|c = "empty"| 
Сценарий PHP содержит следующий код:<?php class C { private $a = "private1"; protected $b = "protected2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $bar = new C(); $bar->a = "private2"; $bar->b = "protected2"; $bar->c = "empty"; ?> Укажите результат выполнения сценария:
|a = "private2"||b = "protected2"||c = "empty"| 
|c = "empty"| 
Сценарий PHP содержит следующий код:<?php class AClass { private $a = "закрытый1"; protected $b = "защищенный2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $bar = new AClass(); $bar->a = "закрытый2"; $bar->b = "защищенный2"; $bar->c = "несуществующий"; ?> Укажите результат выполнения сценария:
|a = "закрытый2"||b = "защищенный2"||c = "несуществующий"| 
|c = "несуществующий"| 
Сценарий PHP содержит следующий код:<?php class cFoo { public $a = "открытое1"; protected $b = "защищенное2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $foo = new cFoo(); $foo->a = "открытое2"; $foo->b = "защищенное2"; $foo->c = "несуществующее"; ?> Укажите результат выполнения сценария:
|a = "открытое2"||b = "защищенное2"||c = "несуществующее"| 
|b = "защищенное2"||c = "несуществующее"| 
|c = "несуществующее"| 
Сценарий PHP содержит следующий код:<?php class cBar { public $a = "public1"; protected $b = "protected2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $bar = new cBar(); $bar->a = "public2"; $bar->b = "protected2"; $bar->c = "empty"; ?> Укажите результат выполнения сценария:
|a = "public2"||b = "protected2"||c = "empty"| 
|b = "protected2"||c = "empty"| 
|c = "empty"| 
Сценарий PHP содержит следующий код:<?php class C { public $a = "открытый1"; private $b = "закрытый2"; function __set($_name,$_value){echo "|".$_name." = ".$_value."|";} } $bar = new C(); $bar->a = "открытый2"; $bar->b = "закрытый2"; $bar->c = "несуществующий"; ?> Укажите результат выполнения сценария:
|a = "открытый2"||b = "закрытый2"||c = "несуществующий"| 
|b = "закрытый2"||c = "несуществующий"| 
|c = "несуществующий"| 
Сценарий PHP содержит следующий код:<?php class MyClass { private $Values = array("p1" => 17, "p2" => 14); function __construct ($_p1, $_p2) { $this->p1 = $_p1; $this->p2 = $_p2; } function __set($_name, $_value) {$this->Values[$_name] = $_value;} function __get($_name) {return $this->Values[$_name];} } $c = new MyClass(1,2); $c->p1 -= 10; $c->p2++; echo $c->p1," ",$c->p2; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class MyClass { private $Values = array("p1" => 5, "p2" => 6); function __construct ($_p1, $_p2) { $this->p1 = $_p1; $this->p2 = $_p2; } function __set($_name, $_value) {$this->Values[$_name] = $_value;} function __get($_name) {return $this->Values[$_name];} } $c = new MyClass(3,4); $c->p1 *= 2; $c->p2++; echo $c->p1," ",$c->p2; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class MyClass { private $Values = array("p1" => 2, "p2" => 9); function __construct ($_p1, $_p2) { $this->p1 = $_p1; $this->p2 = $_p2; } function __set($_name, $_value) {$this->Values[$_name] = $_value;} function __get($_name) {return $this->Values[$_name];} } $c = new MyClass(4,7); $c->p1 /= 2; $c->p2--; echo $c->p1," ",$c->p2; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo { private $Properties = array("bar1" => 123, "bar2" => 1); function __construct ($_bar1, $_bar2) { $this->bar1 = $_bar1; $this->bar2 = $_bar2; } function __set($_name, $_value) {$this->Properties[$_name] = $_value;} function __get($_name) {return $this->Properties[$_name];} } $foo = new cFoo(1,2); $foo->bar1 += 34; $foo->bar2++; echo $foo->bar1," ",$foo->bar2; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cBar { private $Props = array("p1" => "23", "p2" => "12"); function __construct ($_p1, $_p2) { $this->p1 = $_p1; $this->p2 = $_p2; } function __set($_name, $_value) {$this->Props[$_name] = $_value;} function __get($_name) {return $this->Props[$_name];} } $a = new cBar(1,2); $a->p1 += 12; $a->p2--; echo $a->p1," ",$a->p2; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class C { private $Props = array("p1" => 54, "p2" => 3); function __construct ($_p1, $_p2) { $this->p1 = $_p1; $this->p2 = $_p2; } function __set($_name, $_value) {$this->Props[$_name] = $_value;} function __get($_name) {return $this->Props[$_name];} } $c = new C(1,2); $c->p1 -= 3; $c->p2++; echo $c->p1," ",$c->p2; ?> Укажите результат выполнения сценария:
С целью определить название файла, в котором определена некоторая функция, был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth"); // название тестируемой функции include "func.".FUNCTION_NAME.".php";// файл, содержащий определение // тестируемой функции (или //включающий файл с определением) function ReflectFunctionResult($_name) { $refl = new ReflectionFunction($_name); echo "Функция ".$_name."() определена в файле ".___; } ReflectFunctionResult(FUNCTION_NAME); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$refl->getFileName 
$refl->getFileName() 
$refl->get_file_name 
$refl->get_file_name() 
С целью определить строку файла, на которой начинается определение некоторой функции, был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth"); // название тестируемой функции include "func.".FUNCTION_NAME.".php";// файл, содержащий определение // тестируемой функции (или //включающий файл с определением) function ReflectFunctionResult($_name) { $refl = new ReflectionFunction($_name); echo "Определение функция ".$_name."() начинается на строке ".___; } ReflectFunctionResult(FUNCTION_NAME); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$refl->getStartLine 
$refl->getStartLine() 
$refl->get_start_line 
$refl->get_start_line() 
С целью определить строку файла, на которой кончается определение некоторой функции, был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth"); // название тестируемой функции include "func.".FUNCTION_NAME.".php";// файл, содержащий определение // тестируемой функции (или //включающий файл с определением) function ReflectFunctionResult($_name) { $refl = new ReflectionFunction($_name); echo "Определение функция ".$_name."() кончается на строке ".___; } ReflectFunctionResult(FUNCTION_NAME); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$refl->getEndLine 
$refl->getEndLine() 
$refl->get_end_line 
$refl->get_end_line() 
С целью определить, возвращает ли некоторая функция результат по ссылке или по значению, был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth"); // название тестируемой функции include "func.".FUNCTION_NAME.".php";// файл, содержащий определение // тестируемой функции function ReflectFunctionResult($_name) { $refl = new ReflectionFunction($_name); if(___) echo "Функция ".$_name."() возвращает результат по ссылке"; else echo "Функция ".$_name."() возвращает результат по значению"; } ReflectFunctionResult(FUNCTION_NAME); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$refl->returnsReference 
$refl->returnsReference() 
$refl->returns_reference 
$refl->returns_reference() 
С целью определить, является ли некоторая функция внутренней (internal), был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth"); // название тестируемой функции include "func.".FUNCTION_NAME.".php";// файл, содержащий определение // тестируемой функции function ReflectFunctionResult($_name) { $refl = new ReflectionFunction($_name); if(___) echo "Функция ".$_name."() является внутренней"; else echo "Функция ".$_name."() не является внутренней"; } ReflectFunctionResult(FUNCTION_NAME); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$refl->isInternal 
$refl->isInternal() 
$refl->is_internal 
$refl->is_internal() 
С целью определить, является ли некоторая функция определенной пользователем (user defined), был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth"); // название тестируемой функции include "func.".FUNCTION_NAME.".php";// файл, содержащий определение // тестируемой функции function ReflectFunctionResult($_name) { $refl = new ReflectionFunction($_name); if(___) echo "Функция ".$_name."() является определенной пользователем"; else echo "Функция ".$_name."() не является определенной пользователем"; } ReflectFunctionResult(FUNCTION_NAME); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
$refl->isUserDefined 
$refl->isUserDefined() 
$refl->is_user_defined 
$refl->is_user_defined() 
С целью определить, могут ли параметры некоторой функции принимать значениеNULL(что указано при ее определении), был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth");//название тестируемой функции include "func.".FUNCTION_NAME.".php";//файл с ее определением function ReflectFunctionParams($_name) { $refl = new ReflectionFunction($_name); foreach(__1__ as $param_num => $param) { if(__2__) { echo "Параметр №".$param_num." функции "; echo $_name."() может быть равен NULL<br>"; } else { echo "Параметр №".$param_num." функции "; echo $_name."() не может быть равен NULL<br>"; } } } ReflectFunctionParams(FUNCTION_NAME); ?> Среди приведенных ниже пар фрагментов укажите пару, подстановка которой вместо знаков подчеркивания решит поставленную задачу:
__1__ => $refl->getParameters()
__2__ => $param->allowsNull
__1__ => $refl->getParameters()
__2__ => $param->allowsNull()
__1__ => $refl->get_parameters()
__2__ => $param->allows_null()
__1__ => $refl->get_parameters()
__2__ => $param->allows_null
С целью определить, доступны ли для параметров некоторой функции значения по умолчанию (что указано при ее определении), был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth");//название тестируемой функции include "func.".FUNCTION_NAME.".php";//файл с ее определением function ReflectFunctionParams($_name) { $refl = new ReflectionFunction($_name); foreach(__1__ as $param_num => $param) { if(__2__) { echo "Для параметра №".$param_num." функции "; echo $_name."() задано значение по умолчанию<br>"; } else { echo "Для параметра №".$param_num." функции "; echo $_name."() значение по умолчанию не задано<br>"; } } } ReflectFunctionParams(FUNCTION_NAME); ?> Среди приведенных ниже пар фрагментов укажите пару, подстановка которой вместо знаков подчеркивания решит поставленную задачу:
__1__ => $refl->getParameters()
__2__ => $param->isDefautValueAvailable
__1__ => $refl->getParameters()
__2__ => $param->isDefaultValueAvailable()
__1__ => $refl->get_parameters()
__2__ => $param->is_default_value_available()
__1__ => $refl->get_parameters()
__2__ => $param->is_default_value_available
С целью определить имена параметров некоторой функции (указанные при ее определении), был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth");//название тестируемой функции include "func.".FUNCTION_NAME.".php";//файл с ее определением function ReflectFunctionParams($_name) { $refl = new ReflectionFunction($_name); foreach(__1__ as $param_num => $param) { echo "Параметр №".$param_num." функции "; echo $_name."() имеет имя ".__2__."<br>"; } } ReflectFunctionParams(FUNCTION_NAME); ?> Среди приведенных ниже пар фрагментов укажите пару, подстановка которой вместо знаков подчеркивания решит поставленную задачу:
__1__ => $refl->getParameters()
__2__ => $param->getName
__1__ => $refl->getParameters()
__2__ => $param->getName()
__1__ => $refl->get_parameters()
__2__ => $param->get_name()
__1__ => $refl->get_parameters()
__2__ => $param->get_name
С целью определить, передаются ли в некоторую функцию параметры по ссылке или по значению, был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth");//название тестируемой функции include "func.".FUNCTION_NAME.".php";//файл с ее определением function ReflectFunctionParams($_name) { $refl = new ReflectionFunction($_name); foreach(__1__ as $param_num => $param) { if(__2__) { echo "Параметр №".$param_num." передается в функцию "; echo $_name."() по ссылке<br>"; } else { echo "Параметр №".$param_num." передается в функцию "; echo $_name."() по значению<br>"; } } } ReflectFunctionParams(FUNCTION_NAME); ?> Среди приведенных ниже пар фрагментов укажите пару, подстановка которой вместо знаков подчеркивания решит поставленную задачу:
__1__ => $refl->getParameters()
__2__ => $param->isPassedByReference
__1__ => $refl->getParameters()
__2__ => $param->isPassedByReference()
__1__ => $refl->get_parameters()
__2__ => $param->is_passed_by_reference()
__1__ => $refl->get_parameters()
__2__ => $param->is_passed_by_reference
С целью определить, являются ли параметры некоторой функции массивами (что указано при ее определении), был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth");//название тестируемой функции include "func.".FUNCTION_NAME.".php";//файл с ее определением function ReflectFunctionParams($_name) { $refl = new ReflectionFunction($_name); foreach(__1__ as $param_num => $param) { if(__2__) { echo "Параметр №".$param_num." функции "; echo $_name."() является массивом<br>"; } else { echo "Параметр №".$param_num." функции "; echo $_name."() массивом не является<br>"; } } } ReflectFunctionParams(FUNCTION_NAME); ?> Среди приведенных ниже пар фрагментов укажите пару, подстановка которой вместо знаков подчеркивания решит поставленную задачу:
__1__ => $refl->getParameters()
__2__ => $param->isArray
__1__ => $refl->getParameters()
__2__ => $param->isArray()
__1__ => $refl->get_parameters()
__2__ => $param->is_array()
__1__ => $refl->get_parameters()
__2__ => $param->is_array
С целью определить, являются ли параметры некоторой функции опциональными (что указано при ее определении), был разработан код, пример применения которого выглядит следующим образом:<?php define("FUNCTION_NAME","GetSmth");//название тестируемой функции include "func.".FUNCTION_NAME.".php";//файл с ее определением function ReflectFunctionParams($_name) { $refl = new ReflectionFunction($_name); foreach(__1__ as $param_num => $param) { if(__2__) { echo "Параметр №".$param_num." функции "; echo $_name."() является опциональным<br>"; } else { echo "Параметр №".$param_num." функции "; echo $_name."() опциональным не является<br>"; } } } ReflectFunctionParams(FUNCTION_NAME); ?> Среди приведенных ниже пар фрагментов укажите пару, подстановка которой вместо знаков подчеркивания решит поставленную задачу:
__1__ => $refl->getParameters()
__2__ => $param->isOptional
__1__ => $refl->getParameters()
__2__ => $param->isOptional()
__1__ => $refl->get_parameters()
__2__ => $param->is_optional()
__1__ => $refl->get_parameters()
__2__ => $param->is_optional
В классе определено одно свойство, имеющее модификатор доступаprotected, и одно, имеющее модификатор доступа private. Для класса используется механизм итерации по умолчанию. Цикл, построенный на использованииforeach, даст доступ
protected, и к private свойствам 
protected свойству  
private свойству 
Синтаксис foreach($some_object as $foo => $bar), используемый для итерации свойств объекта методом по умолчанию, даст доступ
$bar) 
Синтаксис foreach($some_object as $foo => &$bar), используемый для итерации свойств объекта методом по умолчанию, даст доступ
$bar) 
По умолчанию итерация свойств объекта будет производиться по
private 
public 
В классе определено одно свойство, имеющее модификатор доступаpublic, и одно, имеющее модификатор доступаprotected. Для класса используется механизм итерации по умолчанию. Цикл, построенный на использованииforeach, даст доступ
public, и к protected свойствам 
public свойству  
protected свойству 
В классе определено одно свойство, имеющее модификатор доступаpublic, и одно, имеющее модификатор доступаprivate. Для класса используется механизм итерации по умолчанию. Цикл, построенный на использованииforeach, даст доступ
public, и к private свойствам 
public свойству  
private свойству 
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $this->OperationCount++; $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { $this->OperationCount++; return key($this->Contents); } public function next() { $this->OperationCount++; return next($this->Contents); } public function valid() { return ($this->current() !== false); } } $foo = new cFoo(array( 1, 2,3,4)); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $this->OperationCount++; $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { return key($this->Contents); } public function next() { $this->OperationCount++; return next($this->Contents); } public function valid() { return ($this->current() !== false); } } $foo = new cFoo(array( 1, 2,3,4)); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $this->OperationCount++; $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { return key($this->Contents); } public function next() { return next($this->Contents); } public function valid() {$this->OperationCount++; return ($this->current() !== false); } } $foo = new cFoo(array( 1, 2,3,4)); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { $this->OperationCount++; reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { return key($this->Contents); } public function next() { return next($this->Contents); } public function valid() { $this->OperationCount++; return ($this->current() !== false); } } $foo = new cFoo(array("a","b","c","d")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { $this->OperationCount++; reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { return key($this->Contents); } public function next() { $this->OperationCount++; return next($this->Contents); } public function valid() { return ($this->current() !== false); } } $foo = new cFoo(array( 1, 2,3,4)); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { private $Contents = array(); public $OperationCount = 0; public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { $this->OperationCount++; return key($this->Contents); } public function next() { $this->OperationCount++; return next($this->Contents); } public function valid() { return ($this->current() !== false); } } $foo = new cFoo(array( 1, 2,3,4)); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { public $Contents = array(); public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); $this->Contents[0]+="1"; } public function current() { return current($this->Contents); } public function key() { return key($this->Contents);} public function next() { return next($this->Contents); } public function valid() { $this->Contents[key($this->Contents)].="2"; return ($this->current() !== false); } } $foo = new cFoo(array("1","2","3","4")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->Contents[0]; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { public $Contents = array(); public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); $this->Contents[0].="1"; } public function current() { return current($this->Contents); } public function key() { return key($this->Contents);} public function next() { return next($this->Contents); } public function valid() { $this->Contents[key($this->Contents)]+="2"; return ($this->current() !== false); } } $foo = new cFoo(array("a","b","c","d")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->Contents[0]; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { public $Contents = array(); public function __construct($_Contents) { $this->Contents = $_Contents; $this->Contents[0].="1"; } public function rewind() { reset($this->Contents); $this->Contents[0].="1"; } public function current() { return current($this->Contents); } public function key() { return key($this->Contents);} public function next() { return next($this->Contents); } public function valid() { $this->Contents[key($this->Contents)]+="2"; return ($this->current() !== false); } } $foo = new cFoo(array("a","b","c","d")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->Contents[0]; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { public $Contents = array(); public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); $this->Contents[0].="1"; } public function current() { $this->Contents[key($this->Contents)].="2"; return current($this->Contents); } public function key() { return key($this->Contents); } public function next() { return next($this->Contents); } public function valid() { return ($this->current() !== false); } } $foo = new cFoo(array("a","b","c","d")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->Contents[0]; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { public $Contents = array(); public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); $this->Contents[0].="a"; } public function current() { return current($this->Contents); } public function key() { return key($this->Contents); } public function next() { return next($this->Contents); } public function valid() { $this->Contents[key($this->Contents)].="b"; return ($this->current() !== false); } } $foo = new cFoo(array("1","2","3","4")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->Contents[0]; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements Iterator { public $Contents = array(); public function __construct($_Contents) { $this->Contents = $_Contents; } public function rewind() { reset($this->Contents); } public function current() { return current($this->Contents); } public function key() { return key($this->Contents); $this->Contents[0].="1";} public function next() { return next($this->Contents); } public function valid() { $this->Contents[key($this->Contents)].="2"; return ($this->current() !== false); } } $foo = new cFoo(array("1","2","3","4")); $temp = 0; foreach ($foo as $bar) { $temp++; } echo $foo->Contents[0]; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements ArrayAccess { protected $Contents = array(); public $OperationCount = 0; public function offsetExists($_offset){ return isset($this->Contents[$_offset]); } public function offsetGet($_offset) { $this->OperationCount++; return $this->Contents[$_offset]; } public function offsetSet($_offset,$_value){ $this->OperationCount++; $this->Contents[$_offset] = $_value;} public function offsetUnset($_offset) { $this->OperationCount++; unset($this->Contents[$_offset]); } } $foo = new cFoo; $foo["bar1"] = "1"; $foo["bar2"] .= "2"; echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements ArrayAccess { protected $Contents = array(); public $OperationCount = 0; public function offsetExists($_offset){ return isset($this->Contents[$_offset]); } public function offsetGet($_offset) { return $this->Contents[$_offset]; } public function offsetSet($_offset,$_value){ $this->OperationCount++; $this->Contents[$_offset] = $_value;} public function offsetUnset($_offset) { $this->OperationCount++; unset($this->Contents[$_offset]); } } $foo = new cFoo; $foo["bar1"] .= "1"; $foo["bar2"] .= "2"; echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements ArrayAccess { protected $Contents = array(); public $OperationCount = 0; public function offsetExists($_offset){ return isset($this->Contents[$_offset]); } public function offsetGet($_offset) { return $this->Contents[$_offset]; } public function offsetSet($_offset,$_value){ $this->OperationCount++; $this->Contents[$_offset] = $_value;} public function offsetUnset($_offset) {unset($this->Contents[$_offset]); } } $foo = new cFoo; $foo["bar1"] .= "1"; $foo["bar2"] .= "2"; echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements ArrayAccess { protected $Contents = array(); public $OperationCount = 0; public function offsetExists($_offset) { return isset($this->Contents[$_offset]); } public function offsetGet($_offset) { $this->OperationCount++; return $this->Contents[$_offset]; } public function offsetSet($_offset,$_value){$this->Contents[$_offset] = $_value;} public function offsetUnset($_offset) { unset($this->Contents[$_offset]); } } $foo = new cFoo; $foo["bar1"] = "значение1"; $foo["bar2"] .= "значение2"; echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements ArrayAccess { protected $Contents = array(); public $OperationCount = 0; public function offsetExists($_offset){ return isset($this->Contents[$_offset]); } public function offsetGet($_offset) { return $this->Contents[$_offset]; } public function offsetSet($_offset,$_value){$this->Contents[$_offset] = $_value;} public function offsetUnset($_offset) { $this->OperationCount++; unset($this->Contents[$_offset]); } } $foo = new cFoo; $foo["bar1"] = "val1"; $foo["bar2"] .= "val2"; echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php class cFoo implements ArrayAccess { protected $Contents = array(); public $OperationCount = 0; public function offsetExists($_offset){ return isset($this->Contents[$_offset]); } public function offsetGet($_offset) { return $this->Contents[$_offset]; } public function offsetSet($_offset,$_value){ $this->OperationCount++; $this->Contents[$_offset] = $_value;} public function offsetUnset($_offset) { $this->OperationCount++; unset($this->Contents[$_offset]); } } $foo = new cFoo; $foo["bar1"] = "value1"; $foo["bar2"] .= "value2"; echo $foo->OperationCount; ?> Укажите результат выполнения сценария:
В блоке catch ловится только тот тип исключений, который
catch() 
catch() 
catch() или его потомком 
catch() ловится любой тип исключений 
Выполнение блока catch при возникновении исключения происходит
try 
try 
try уничтожаются только по завершении работы сценария 
try не уничтожаются, что приводит к утечкам памяти 
При возникновении исключения
try (вместе с телами вызванных из него функций), затем происходит выполнение блока catch 
try (однако, если исключение возникло в процессе выполнения вызванной из блока try функции, работа функции прерывается), затем происходит выполнение блока catch 
try (в том числе, если исключение было сгенерировано в функции, вызванной из блока try, прерывается выполнение функции) и выполняется блок catch 
try зависят от типа исключения 
При генерации исключения:
try-блока, по завершении которого исключение обрабатывается с помощью catch 
try-блоке (если она была вызвана); после завершения работы такой функции (или иерархии функций, вызываемых друг из друга) выполнение try-блока прерывается и исключение обрабатывается с помощью catch 
try-блока (с корректным уничтожением локальных объектов), и исключение обрабатывается с помощью catch 
catch 
Код, расположенный вtry-блоке передthrow:
Код, расположенный вtry-блоке послеthrow:
catch 
catch 
Сценарий PHP содержит следующий код:<?php function a(){echo "q "; b(); echo "2 ";} function b(){echo "s "; throw new Exception("исключение"); echo "3 ";} echo "4 "; try { echo "d "; a(); echo "x "; } catch (Exception $e) {echo "2 ";} echo "g "; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php function a(){echo "8 "; b(); echo "f ";} function b(){echo "k "; throw new Exception("ex"); echo "h ";} echo "f "; try { echo "c "; a(); echo "u "; } catch (Exception $e) {echo "n ";} echo "4 "; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php function a(){echo "k "; b(); echo "d ";} function b(){echo "s "; throw new Exception("test"); echo "x ";} echo "s "; try { echo "4 "; a(); echo "j "; } catch (Exception $e) {echo "5 ";} echo "z "; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php function first(){echo "3 "; second(); echo "6 ";} function second(){echo "4 "; throw new Exception("test"); echo "5 ";} echo "1 "; try { echo "2 "; first(); echo "7 "; } catch (Exception $e) {echo "e ";} echo "8 "; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php function a(){echo "c "; b(); echo "f ";} function b(){echo "d "; throw new Exception("test"); echo "e ";} echo "a "; try { echo "b "; a(); echo "g "; } catch (Exception $e) {echo "h ";} echo "i "; ?> Укажите результат выполнения сценария:
Сценарий PHP содержит следующий код:<?php function a(){echo "f "; b(); echo "g ";} function b(){echo "d "; throw new Exception("test"); echo "s ";} echo "2 "; try { echo "b "; a(); echo "g "; } catch (Exception $e) {echo "1 ";} echo "h "; ?> Укажите результат выполнения сценария:
Был разработан специализированный класс исключений, расширяющий информативность методаgetCode():<?php class eMyException extends Exception { function getCode() {return "Код исключения: ".$this->code;} } try {throw new eMyException("исключение");} catch (Exception $e){echo $e->getCode();} ?> Ожидалось, что результатом выполнения сценария станет строка "Код исключения: 0", однако в процессе выполнения сценария была сгенерирована фатальная ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
Exception не содержит поля code 
catch следует указать производный класс, а не родительский 
getCode() переопределить нельзя, т.к. он определен как final 
Был разработан специализированный класс исключений, расширяющий информативность методаgetFile(). Содержимое файла NewExc.php:<?php class eNewException extends Exception { function getFile() {return "Exception in: ".$this->file;} } try {throw new eNewException("test");} catch (Exception $e){echo $e->getFile();} ?> Ожидалось, что результатом выполнения сценария станет строка "Exception in: NewExc.php", однако в процессе выполнения сценария была сгенерирована фатальная ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
Exception не содержит поля file 
catch следует указать производный класс, а не родительский 
getFile() переопределить нельзя, т.к. он определен как final 
Был разработан специализированный класс исключений, расширяющий информативность методаgetLine():<?php class eMyException extends Exception { function getLine() {return "Исключение сгенерировано на ".$this->line." строке";} } try {throw new eMyException("тест");} catch (Exception $e){echo $e->getLine();} ?> Ожидалось, что результатом выполнения сценария станет строка "Исключение сгенерировано на 7 строке", однако в процессе выполнения сценария была сгенерирована фатальная ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
Exception не содержит поля line 
catch следует указать производный класс, а не родительский 
getLine() переопределить нельзя, т.к. он определен как final 
Был разработан специализированный класс исключений, расширяющий информативность методаgetMessage():<?php class eFooException extends Exception { function getMessage() {return "Произошла ошибка! Подробности: ".$this->message;} } try {throw new eFooException("тест");} catch (Exception $e){echo $e->getMessage();} ?> Ожидалось, что результатом выполнения сценария станет строка "Произошла ошибка! Подробности: тест", однако в процессе выполнения сценария была сгенерирована фатальная ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
Exception не содержит поля message 
catch следует указать производный класс, а не родительский 
getMessage() переопределить нельзя, т.к. он определен как final 
Был разработан специализированный класс исключений, расширяющий информативность методаgetMessage():<?php class eMyException extends Exception { function getMessage() {return "Исключение: ".$this->message;} } try {throw new eMyException("test");} catch (Exception $e){echo $e->getMessage();} ?> Ожидалось, что результатом выполнения сценария станет строка "Исключение: тест", однако в процессе выполнения сценария была сгенерирована фатальная ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
Exception не содержит поля message 
catch следует указать производный класс, а не родительский 
getMessage() переопределить нельзя, т.к. он определен как final 
Был разработан специализированный класс исключений, расширяющий информативность методаgetCode():<?php class eNewException extends Exception { function getCode() {return "Exception code: ".$this->code;} } try {throw new eNewException("test");} catch (Exception $e){echo $e->getCode();} ?> Ожидалось, что результатом выполнения сценария станет строка "Exception code: 0", однако в процессе выполнения сценария была сгенерирована фатальная ошибка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
Exception не содержит поля code 
catch следует указать производный класс, а не родительский 
getCode() переопределить нельзя, т.к. он определен как final 
Для вывода наиболее полной информации о пойманном исключении был разработан следующий код:<?php try {throw new Exception("сгенерированное исключение");} catch (Exception $e){____;} ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
echo "<pre>".$e->__toString()."</pre>" 
echo "<pre>".$e."</pre>" 
echo "<pre>".(string)$e."</pre>" 
echo "<pre>".$e->getFullInfo()."</pre>"; 
Для вывода наиболее полной информации о пойманном исключении был разработан следующий код:<?php try {throw new Exception("тест механизма исключений");} catch (Exception $e){____;} ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
echo "<pre>".$e->__toString()."</pre>" 
echo "<pre>".$e."</pre>" 
echo "<pre>".(string)$e."</pre>" 
echo "<pre>".$e->getFullInfo()."</pre>"; 
Для вывода наиболее полной информации о пойманном исключении был разработан следующий код:<?php try {throw new Exception("сгенерированное исключение");} catch (Exception $e){____;} ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
echo "<pre>".$e->__toString()."</pre>" 
echo "<pre>".$e."</pre>" 
echo "<pre>".(string)$e."</pre>" 
echo "<pre>".$e->getFullInfo()."</pre>"; 
Для вывода наиболее полной информации о пойманном исключении был разработан следующий код:<?php try {throw new Exception("тест");} catch (Exception $e){____;} ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
echo "<pre>".$e->__toString()."</pre>" 
echo "<pre>".$e."</pre>" 
echo "<pre>".(string)$e."</pre>" 
echo "<pre>".$e->getFullInfo()."</pre>"; 
Для вывода наиболее полной информации о пойманном исключении был разработан следующий код:<?php try {throw new Exception("test");} catch (Exception $e){____;} ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
echo "<pre>".$e->__toString()."</pre>" 
echo "<pre>".$e."</pre>" 
echo "<pre>".(string)$e."</pre>" 
echo "<pre>".$e->getFullInfo()."</pre>"; 
Для вывода наиболее полной информации о пойманном исключении был разработан следующий код:<?php try {throw new Exception("исключение");} catch (Exception $e){____;} ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
echo "<pre>".$e->__toString()."</pre>" 
echo "<pre>".$e."</pre>" 
echo "<pre>".(string)$e."</pre>" 
echo "<pre>".$e->getFullInfo()."</pre>";