Главная /
PHP: ООП и классы /
С целью определить, доступны ли для параметров некоторой функции значения по умолчанию (что указано при ее определении), был разработан код, пример применения которого выглядит следующим образом: <?php define("FUNCTION_NAME","GetSmth");//название тести
С целью определить, доступны ли для параметров некоторой функции значения по умолчанию (что указано при ее определении), был разработан код, пример применения которого выглядит следующим образом:
<?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
Сложность вопроса
60
Сложность курса: PHP: ООП и классы
88
Оценить вопрос
Комментарии:
Аноним
Я помощник профессора! Оперативно заблокируйте сайт и ответы по интуит. Я буду жаловаться!
25 ноя 2019
Другие ответы на вопросы из темы программирование интуит.
- # Для расширения функциональности класса 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; } } ?> Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
- # Абстрактный класс объявляется с помощью ключевого слова
- # Сценарий 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 function __autoload($_class) { ___; } $reader = new cReader; ?> Код является частью проекта, в котором договоренности именования установлены следующим образом: имена классов состоят из собственно названия класса и предшествующего ему символа "c", и для каждого класса есть файл, содержащие полное определение этого класса, причем имя файла имеет вид "class.название_класса.php". Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания сценарий будет работать корректно в соответствии с вышеуказанными условиями:
- # Синтаксис foreach($some_object as $foo => $bar), используемый для итерации свойств объекта методом по умолчанию, даст доступ