uz
Feedback
PHP задачи с собеседований

PHP задачи с собеседований

Kanalga Telegram’da o‘tish

Задачи, тесты и теоретические вопросы по PHP. Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny

Ko'proq ko'rsatish
2 906
Obunachilar
-124 soatlar
Ma'lumot yo'q7 kunlar
-930 kunlar
Postlar arxiv
Курсы бесплатно, то есть даром Без лишних слов: в Архиватор залили более 10 террабайт курсов. Среди школ: • Скилы (конечно же
Курсы бесплатно, то есть даром Без лишних слов: в Архиватор залили более 10 террабайт курсов. Среди школ: • Скилы (конечно же) • Гикбрейнс (есть пара новинок) • Скилфектори (даже то, чего нигде не было) • Яндекс Практикум ("крутая защита" говорили они) Не теряй возможности, обучайся бесплатно: Архиватор

👨🏻‍💻 У меня есть компонент news.list, в котором уже присутствует фильтрация новостей по свойству заданных тем. Как сделать еще одну фильтрацию для этого же компонента? Вот мой компонент news.list. В начале уже пытался вывести свойство.
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Новости");

global $USER;
$filter = Array(
   "IBLOCK_ID"=>$arParams["IBLOCK_ID"],
   "ACTIVE"=>"Y",
   "PROPERTY_SHOWLIST"=> $USER->GetID(),
);
$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), $filter, false, false, Array("ID", "IBLOCK_ID", "NAME", "DATE_ACTIVE_FROM", "DETAIL_PAGE_URL"));

?>

<?
$themeId = intval($_GET['sel_theme']);
$themeFilter = array();
$themeCode = '';
$selectedThemeName = '';


if ($themeId > 0) {
    $themeFilter["PROPERTY_THEME"] = $themeId;
} else if (isset($_GET['sel_theme'])) {
    $themeCode = $_GET['sel_theme'];
    $themeFilter = array('PROPERTY_THEME.CODE' => $themeCode);
    $selectedThemeName = getThemeNameByCode($themeCode);
}

function getThemeNameByCode($themeCode) {
    $theme = CIBlockElement::GetList(
        array(),
        array('CODE' => $themeCode),
        false,
        false,
        array('ID', 'NAME')
    )->Fetch();

    if ($theme) {
        return $theme['NAME'];
    }

    return false;
}


?>

<?$APPLICATION->IncludeComponent(
    "bitrix:news.list", 
    "news.list", 
    array(
        "ACTIVE_DATE_FORMAT" => "d.m.Y",
        "ADD_SECTIONS_CHAIN" => "Y",
        "AJAX_MODE" => "N",
        "AJAX_OPTION_ADDITIONAL" => "",
        "AJAX_OPTION_HISTORY" => "N",
        "AJAX_OPTION_JUMP" => "N",
        "AJAX_OPTION_STYLE" => "Y",
        "CACHE_FILTER" => "N",
        "CACHE_GROUPS" => "Y",
        "CACHE_TIME" => "36000000",
        "CACHE_TYPE" => "A",
        "CHECK_DATES" => "Y",
        "DETAIL_URL" => "/news/detail/#ID#/",
        "DISPLAY_BOTTOM_PAGER" => "Y",
        "DISPLAY_DATE" => "Y",
        "DISPLAY_NAME" => "Y",
        "DISPLAY_PICTURE" => "Y",
        "DISPLAY_PREVIEW_TEXT" => "Y",
        "DISPLAY_TOP_PAGER" => "N",
        "FIELD_CODE" => array(
            0 => "",
            1 => "",
        ),
        "SELECTED_THEME_NAME" => $selectedThemeName,
        "FILTER_NAME" => "themeFilter",
        "HIDE_LINK_WHEN_NO_DETAIL" => "N",
        "IBLOCK_ID" => "2",
        "IBLOCK_TYPE" => "news",
        "INCLUDE_IBLOCK_INTO_CHAIN" => "Y",
        "INCLUDE_SUBSECTIONS" => "Y",
        "MESSAGE_404" => "",
        "NEWS_COUNT" => "4",
        "PAGER_BASE_LINK_ENABLE" => "N",
        "PAGER_DESC_NUMBERING" => "N",
        "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
        "PAGER_SHOW_ALL" => "N",
        "PAGER_SHOW_ALWAYS" => "Y",
        "PAGER_TEMPLATE" => "pagination",
        "PAGER_TITLE" => "Новости",
        "PARENT_SECTION" => "",
        "PARENT_SECTION_CODE" => "",
        "PREVIEW_TRUNCATE_LEN" => "",
        "PROPERTY_CODE" => array(
            0 => "",
            1 => "THEME",
            2 => "SHOWLIST",
        ),
        "SET_BROWSER_TITLE" => "Y",
        "SET_LAST_MODIFIED" => "N",
        "SET_META_DESCRIPTION" => "Y",
        "SET_META_KEYWORDS" => "Y",
        "SET_STATUS_404" => "N",
        "SET_TITLE" => "Y",
        "SHOW_404" => "N",
        "SORT_BY1" => "ACTIVE_FROM",
        "SORT_BY2" => "SORT",
        "SORT_ORDER1" => "DESC",
        "SORT_ORDER2" => "ASC",
        "STRICT_SECTION_CHECK" => "N",
        "COMPONENT_TEMPLATE" => "news.list"
    ),
    false
);?>

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

При этом у меня создано свойство инфоблока Новости - "Показ новости" в котором два значения "Да" и "Нет". И если я в параметрах элемента поставлю Показ новости: Да, то тогда новость должна показываться только авторизованным пользователям и наооборот. PHP задачи с собеседований

Есть несколько способов проанализировать работу приложения на Go уже после деплоя. В новом выпуске шоу для разработчиков avit
Есть несколько способов проанализировать работу приложения на Go уже после деплоя. В новом выпуске шоу для разработчиков avito.code рассмотрен один из них: метод добавления специальных хендлеров в HTTP-сервер сервиса. Старший инженер AvitoTech на живом примере показал, какие встроенные функции PPROF помогут найти проблемы с производительностью сервиса. Реклама. ООО «Авито Тех». Erid: LdtCKdSvq

👨🏻‍💻 Как сложить два равных по длине массива по индексам Есть два массива
$arr = array([0] => 1,[1] => 2, [2] => 3 )

$arr1 = array([0] => 4,[1] => 5, [2] => 6 )

Размеры массивов могут меняться, но они всегда будут одинаковыми Как сложить эти два массива с равными индексами чтобы на выходе получилось следующее array([0] => 5,[1] => 7,[2] => 9) PHP задачи с собеседований

Работодатели дерутся за специалистов по 1С Установка, настройка, подключение кассы — умеешь? Смело врывайся на любое собеседо
Работодатели дерутся за специалистов по 1С Установка, настройка, подключение кассы — умеешь? Смело врывайся на любое собеседование. А если нет — подписывайся на канал Знакомого 1С-ника и каждый день лови новое руководство по решению типовых проблем Автор канала более десяти лет сопровождает 1С и точно знает, как выжать максимум из любой программы. Новички быстро освоят базовые инструменты, а матерые пользователи откроют для себя много нового Ну, серьезно Хватит плыть в серой массе дилетантов — освой базовый арсенал и повысь свою ценность на рынке труда. Это все абсолютно бесплатно! — @znak1c

Наша рекомендация на остаток лета: научитесь хакингу. Тот, кто разбирается в Kali linux — сможет что угодно и заработает сост
Наша рекомендация на остаток лета: научитесь хакингу. Тот, кто разбирается в Kali linux — сможет что угодно и заработает состояние. А если вы хотите разобраться, в информационной безопасности и хакинге — читайте канал: @linuxkalii Там просто и доступно объясняют: как взломать беспроводные сети или любые аккаунты, почему не нужно использовать PowerShell и как обезопасить себя в вебе, чтобы не стать жертвой взлома. Подписывайтесь, сделайте гигантские интеллектуальный подарок себе: @linuxkalii

⚡️Пора принять вызов! Научитесь решать сложные задачи PHP-разработки и совершите level up! 🚀 31 июля — старт онлайн-курса «P
⚡️Пора принять вызов! Научитесь решать сложные задачи PHP-разработки и совершите level up! 🚀 31 июля — старт онлайн-курса «PHP Developer. Professional» в OTUS. За 5 месяцев интенсивного обучения вы научитесь создавать мощные и высокопроизводительные веб-приложения, работать со сложной инфраструктурой, оптимизировать хранилища данных и писать надежные тесты для обеспечения безупречной работоспособности вашего кода. 🏆 Все эти новые знания вы закрепите в вашей выпускной работе — коммерческом кейсе. 🟠Курс можно купить в рассрочку. ➡️ Оставляйте заявку и присоединяйтесь к группе! Количество мест ограничено: https://otus.pw/4Py1/ Успейте присоединится к июльской группе! Нативная интеграция. Информация о продукте www.otus.ru

👨🏻‍💻 Удалить пробел из строки в переменной PHP Есть такой кусок кода
$pric = $html->find('html body div span[class=price__value]', 0); // цена товара
$pric = strip_tags($pric); // обрезаю лишние хтмл теги

$pric = preg_replace('%^\s+|\s+$%u', '', $pric); // здесь должна быть цена без пробелов (но они есть)

Парсингом $html = new simple_html_dom(); вытаскиваю цену товара, но внутри цены присутствует пробел, в итоге у меня берет цифры до пробела (если тысячи) и нормально если пробела нет. Для работы использую пхп 7.3 получаю 39&nbsp;999 Использовал уже все известные регулярки, с различной кодировкой, без толку, не помогло ничего. Может кто подскажет решение проблемы? Кто сталкивался уже с таким
$pric = html_entity_decode($pric); 
echo $pric. "<br>"; 
$pric = preg_replace('%&nbsp;%u', '', $pric); 
echo $pric. "<br>"; // выводим цену 


и все остается так же как и было. Пробел на месте пы.сы. Из последнего, попробовал заменить пробел на "-", видит пробел в конце строки, а не в середине (между цифрами) PHP задачи с собеседований

👀 Изучать алгоритмы и структуры данных лучше всего на примерах и практике. Именно такой подход ждет вас в новом потоке онлай
👀 Изучать алгоритмы и структуры данных лучше всего на примерах и практике. Именно такой подход ждет вас в новом потоке онлайн-курса «Алгоритмы и структуры данных» в OTUS. 🎙 На интерактивных вебинарах преподаватели-практики продемонстрируют, как работает каждый алгоритм, и напишут его с нуля с вами прямо на уроке. Хотите проверить походит ли вам курс? 👉 Пройдите тест и узнайте - https://otus.pw/cWA1/ Через 5 месяцев вы сможете самостоятельно писать самые известные прикладные алгоритмы на своем языке программирования. Во время обучения вы напишете свое приложение, чтобы представлять его на собеседовании. 🚀Стартуем 31 июля. ➡️ Оставьте заявку, чтобы занять место в группе со скидкой: https://otus.pw/t0l5/ Нативная интеграция. Информация о продукте www.otus.ru

Знаете правильный ответ🤔❓ Если нет, подключайтесь в четверг, 27 июля в 20:00, к открытому уроку «RabbitMQ: Advanced-практики
Знаете правильный ответ🤔❓ Если нет, подключайтесь в четверг, 27 июля в 20:00, к открытому уроку «RabbitMQ: Advanced-практики». 💯На занятии мы: ✔️ реализуем асинхронный поточный процесс обработки с помощью RabbitMQ ✔️ реализуем RPC с помощью RabbitMQ Вебинар пройдет в рамках старта онлайн-курса «Symfony Framework» OTUS. А спикером выступит руководитель курса Михаил Каморин💪, Dev Tech Lead в Skyeng. Чтобы попасть на занятие, зарегистрируйтесь: https://otus.pw/er3X/ 18+ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2RanymUMn9E

🖤 Если вы ещё не освоили PHP, но очень хотите Не будем ходить вокруг да около. Skillbox приглашает на онлайн-курс «Профессия
🖤 Если вы ещё не освоили PHP, но очень хотите Не будем ходить вокруг да около. Skillbox приглашает на онлайн-курс «Профессия PHP-разработчик с нуля до PRO». А это, на минуточку: ✔️ 6 курсов в одном — для погружения в профессию ✔️ 3 проекта в портфолио: облачное хранилище данных, аналог booking.com, интернет-магазин ✔️ Командная стажировка ✔️ Гарантированное трудоустройство (или вернём деньги) При этом устроиться на работу можно будет уже через 7 месяцев обучения. Средняя зарплата начинающих PHP-разработчиков — 90 тысяч рублей в месяц. На курсе вы научитесь: ▪️ Программировать на PHP ▪️ Понимать принципы ООП ▪️ Работать с файловой системой ▪️ Находить ошибки в коде ▪️ Работать с базами данных ▪️ Разрабатывать на Laravel 🎁 На курс действует скидка. Кроме того, вы можете получить бесплатный доступ к первым модулям. Для этого просто нужно оставить заявку: https://epic.st/ebv_vD Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

👨🏻‍💻 Аннотация Psalm для типа возвращаемого значения в месте вызова метода/функции Для демонстрации проблемы есть такой упрощенный реальный код:
abstract class A
{
    /**
     * @var array<string, mixed>
     */
    private array $params;

    public function __construct(array $params)
    {
        static::validateParams($params);
        $this->params = $params;
    }

    final protected function getParamByKey(string $key): mixed
    {
        return $this->params[$key];
    }

    /**
     * @throws \InvalidArgumentException
     */
    abstract protected static function validateParams(array $params): void;
}

final class B extends A
{
    protected static function validateParams(array $params): void
    {
        if (!is_string($params['X'])) {
            throw new \InvalidArgumentException('Param X must be string');
        }
        if (!is_int($params['Y'])) {
            throw new \InvalidArgumentException('Param Y must be int');
        }
    }

    public function getParamX(): string
    {
        return $this->getParamByKey('X');
    }

    public function getParamY(): int
    {
        return $this->getParamByKey('Y');
    }
}

Теперь к сути. При прогоне этого кода через psalm для методов B::getParamX и B::getParamY я получаю по два варнинга: MixedReturnStatement: Could not infer a return type и MixedInferredReturnType: Could not verify return type 'string' for. Понятно что причина в том, что в объявлении метода getParamByKey, mixed указан как тип возвращаемого значения, из-за чего psalm делает вывод, что в B::getParamX и B::getParamY могут прилететь данные любого типа. Только вот в действительности это не так, поскольку перед вызовами B::getParamX и B::getParamY вызывается метод A::validateParams, который гарантирует корректность типов для обоих методов. Вопрос: какую аннотацию можно задать, чтобы заставить psalm корректно выводить типы с учетом вызова A::validateParams? Если так сделать нельзя, то можно ли в месте вызова $this->getParamByKey указать возвращаемый тип из getParamByKey? Чтобы это выглядело как-то так:
public function getParamX(): string
{
    return $this->getParamByKey('X'); /** @psalm-return string */
}

public function getParamY(): int
{
    return $this->getParamByKey('Y'); /** @psalm-return int */
}

Тут конечно можно создать переменную, присвоить ей возвращаемое значение, а потом задать ей аннотацию / @var string $tmp /, только мне этот вариант не нравится, так как выглядит не очень красиво. PHP задачи с собеседований

⚡️Скорость разработки ПО падает по мере роста размера проекта. Инструменты разработки не могут изменить тенденции, а лишь зам
⚡️Скорость разработки ПО падает по мере роста размера проекта. Инструменты разработки не могут изменить тенденции, а лишь замедлить и отсрочить неизбежное. SOLID является одной из практик, которая гарантирует неизменность скорости разработки. Узнайте больше про SOLID-принципы на бесплатном вебинаре онлайн-курса «Архитектура и шаблоны проектирования» в Отус — «SOLID как условие постоянной скорости разработки»: регистрация На бесплатном занятии мы: — разберем, почему SOLID принципы являются достаточным условием сохранения скорости разработки; — рассмотрим простой и понятный механизм их применения для получения повторно используемого кода. 🔥Экспертизой поделится Евгений Тюменцев — опытный директор компании по разработке программного обеспечения. Нативная интеграция. Информация о продукте www.otus.ru

💣 Взрывной тест на знание основ алгоритмов! ➡️Пройдите тест из 20 вопросов и получите welcome-скидку на онлайн-курс «Алгорит
💣 Взрывной тест на знание основ алгоритмов! ➡️Пройдите тест из 20 вопросов и получите welcome-скидку на онлайн-курс «Алгоритмы и структуры данных» от OTUS. ❗️ Тест подходит для любого языка программирования. 💻 Пройдя обучение на курсы, вы — получите опыт реализации классических алгоритмов, сможете повысить производительность программ и улучшить качество кода.. Возможна рассрочка. 🔥 Если вы пройдете тест успешно, вам откроется доступ к 2 урокам: ✔️ «Создание ассоциативного массива» ✔️ «Создание ассоциативного массива на базе хэш-таблицы и префиксного дерева» ➡️ Пройти тест: https://otus.pw/cWA1/ Нативная интеграция. Информация о продукте www.otus.ru

Вам нравится читать контент на этом канале? Возможно, вы задумывались о том, чтобы купить на нем интеграцию? Следуйте 3 простым шагам, чтобы сделать это: 1) Регистрируйтесь по ссылке: https://telega.in/c/phpquiz 2) Пополняйтесь удобным способом 3) Размещайте публикацию Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.

🔥 Внимание, разработчики PHP! 🔥 Если вы хотите взять новую высоту в программировании и создавать крутые веб-приложения, то
🔥 Внимание, разработчики PHP! 🔥 Если вы хотите взять новую высоту в программировании и создавать крутые веб-приложения, то вам точно нужно посмотреть в сторону Symfony! 🚀 Symfony входит в топ востребованных фреймворков и считается основным для решения задач уровня enterprise. 💥 Мы насчитали 500+ вакансий🔥🔥 для разработчиков PHP, которые требуют знания Symfony.  💥 80% из этих вакансий предлагают позиции middle+. Компания Otus открыла набор на онлайн-курс по Symfony для PHP-разработчиков, которые стремятся поднять свой уровень до middle+ и senior+.👨‍💻👩‍💻 После курса вы: ✅ Освоите встроенные инструменты фрэймворка. ✅ Разберетесь в архитектуре и методологии разработки. ✅ Научитесь создавать приложения на реальных кейсах. ❕А еще тестировать и мониторить полученный код и разворачивать приложения в различных окружениях. ✅ Сможете обеспечивать безопасность ваших приложений. 🚀 Старт 25.08.23 👉 Ссылка на курс: https://otus.pw/EBLZ/ Нативная интеграция. Информация о продукте www.otus.ru

👨🏻‍💻 Получаю такую ошибку. Пробовал - Curl error 60, SSL certificate issue: self signed certificate in certificate chain ,
👨🏻‍💻 Получаю такую ошибку. Пробовал - Curl error 60, SSL certificate issue: self signed certificate in certificate chain ,не помогло. Может кто сталкивался ? Сижу час - ломаю голову. Поменял сертификат, запускаю без apache,через php artisan serv. PHP задачи с собеседований

👨🏻‍💻Изминения значение параметра в url по нажатию на ссылку У меня есть такая таблица:
echo "<table border='1'>";
echo "<tr>
        <th><a href='?sort=1&direction=1'>Название продукта</a></th>
        <th><a href='?sort=2&direction=1'>Цена в грн</a></th>
        <th><a href='?sort=3&direction=1'>Количество (кг/шт)</a></th>
        <th><a href='?sort=4&direction=1'>Стоимость в грн</a></th>
        <th>Действие</th>
      </tr>";

Мне нужно по нажатию на ссылку, что бы менялся параметр direction на 0 или 1. Считать значение direction я могу, но как правильно изменить и записать его новое значение - в этом проблема. PHP задачи с собеседований