Сообщения

Сообщения за 2021

PHP: значения по-умолчанию и типизация

Рассмотрим примеры, когда значения по-умолчанию в комбинации с указанием типов входных и выходных параметров функции могут ввести в заблуждение. Для начала рассмотрим такой сценарий: требуется разработать функцию, которая будет возвращать всегда целочисленное значение, а на вход принимает один параметр - тоже целочисленный. Заготовка: <?php class Product {     /**      * @param int $productId      *      * @return int      */     public function getStrangeProduct(int $productId): int     {         return $productId;     } } $obProduct = new Product(); При таком раскладе совершенно очевидно, что вызов var_dump($obProduct->getStrangeProduct(0)); вернёт целочисленное значение 0: /mnt/projects/sites/server.local/www/test-functions.php:16:int 0 Теперь представим, что ТЗ изменилось. Теперь нужно, чтобы функция имела значение по-умолчанию для входного параметра, когда функция вызывается без указания параметра. Так функция примет вид:     /**      * @param int|null $productId   

Запуск приложений ARM на x86 virtual Android

Изображение
Задача: запустить любимую игрушку или полезное приложение Android на компьютере под управлением linux. Первый шаг - это запустить хоть сам голый Android на компьютере внутри базовой операционной системы.Для этой цели есть несколько вариантов решения. Можно использовать стандартный эмулятор Android для разработчиков от Google, - запустить любую версию Android. Можно использовать Anbox с его Android 7.1. Фишка Anbox в том, что будет максимально задействовано родное железо без лишних слоёв эмуляции. Третий вариант, который я тут приведу - Genymotion - платный проект виртуализации, в котором можно получить бесплатную лицензию для домашнего использования. В общем, выбрать есть из чего. Где взять программу для установки Какой бы проект вы не установили, потребуется найти установочный пакет интересуемого приложения или же установить менеджер приложений (самый популярный вариант - Google App и Google Play services в придачу к нему). Начнём с самого простого случая. Вариантов будет несколько