Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Опытный разработчик, у которого многие наработки уже сушествуют десяток лет
interface Animals
{
public function tease();
public function play();
}
class Dog
{
public function tease()
{
echo 'tease';
}
}
class Cat implements Animals
{
public function tease()
{
echo 'tease';
}
public function play()
{
echo 'play';
}
}
class AnimalsController
{
private $animal;
public function __construct(Animals $animal)
{
$this->animal = $animal;
}
public function Run()
{
$this->animal->tease();
$this->animal->play();
}
}
PHP Catchable fatal error: Argument 1 passed to AnimalsController::__construct() must implement interface Animals, instance of Dog givenclass Dog extends Animals
Fatal error: Class Dog cannot extend from interface AnimalsРассматривать абстрактные классы как замену интерфейсам (и наоборот) в корне некорректно в силу их абсолютно разного назначения.
То есть "+" — это всегда сложение
['foo', 'bar'] + ['baz']другое дело что в JS любое выражение вернет вам что-то а в PHP на совсем уж чушь вы хотя бы получите notice (который к тому же нельзя перехватить и обработать, так что разница не значительна).
Чему будет равен $x после выполнения выражения $x = 3 + «15%» + "$25"?
$x = 3 + ''15%'' + "$25"
Знающий человек не станет без лишней надобности проверять, число у нас или строка в переменной
ArrayObjects — это что вообще такое? Пишите как есть: ArrayObject
объясните. зачем нужно ООП?
foreach($someElements as $element)
{
if ($element->isGood())
{
$this->doSometing($element);
}
}
12. Хорошо, давай про Legacy Code: напиши пример кода на PHP 5.3, который не будет выполняться в PHP 5.5. Хотя бы вспомни пару функций, по наличию которых в коде можно сказать, что этот проект на PHP 5.5 работать не сможет.
13. И вот тебе дали задачу переписать код небольшого проекта из двух десятков скриптов или классов с PHP 5.3 на PHP 5.5. Твой порядок действий?
$_REQUEST – объединение пар ключ-значение из $_POST и $_getDog.
PHP 5.5… и добавлена удобная возможность обращения к символам в строке как к элементам массива (например, '6e5d4'[0] вернёт «6»).
$array = "PHP";
echo $array[1];// выводит H
Руководство по собеседованию на вакансию PHP-программиста