PHP задачи с собеседований
Відкрити в Telegram
Задачи, тесты и теоретические вопросы по PHP. Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny
Показати більше2 907
Підписники
+124 години
Немає даних7 днів
-630 день
Архів дописів
Хотите узнать, как концепция дилеммы заключенного применяется в разработке архитектурных решений?
Всего за пару часов вы разберете основы теории игр, научитесь анализировать преимущества и риски различных архитектурных подходов, сможете эффективно управлять компромиссами между компонентами системы.
Присоединяйтесь к открытому вебинару 3 сентября в 20:00 мск! Урок создан для архитекторов ПО, руководителей IT-проектов, Fullstack- и Backend-разработчиков.
Спикер Евгений Тюменцев — директор компании по разработке ПО, 20 лет преподает компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП.
Встречаемся в преддверии старта курса «Архитектура и шаблоны проектирования». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://clck.ru/3Cy6gG
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Будущие системные аналитики! Готовы прокачать свои навыки и ворваться в мир IT?
Погрузитесь с нуля в процессы разработки ПО и научитесь формировать технические требования, учитывая цели бизнеса! Наш курс «Специализация Системный аналитик» — это ваш билет в мир высокооплачиваемой и востребованной профессии. Обучение состоит из двух ступеней — на первой вы станете Junior-аналитиком, а на второй достигнете уровня Middle.
Вы научитесь выявлять потребности и формализовывать их, использовать средства визуализации требований, проектировать и тестировать сервисы RESTFul API и SOAP, создавать информационные модели и архитектуры, а также понимать процесс разработки изнутри.
Не нужно иметь профильные знания — программа подходит для новичков. Мы поможем вам получить выгодные офферы в перспективных проектах и начать успешную карьеру.
Запишитесь на курс прямо сейчас и получите специальную цену и доступ к прошедшим вебинарам: https://clck.ru/3CvmmN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Узнайте первыми о главном ИТ-событии Черноземья! ИТ-форум «Цифроземье 2024» состоится в Воронеж 5 сентября.
«Цифроземье» - уникальная возможность для малого бизнеса, которую просто стыдно упустить, потому что на площадке форума у представителей бизнеса будет возможность лично встретиться с экспертами и запастись полезными связями/контактами. Именно на «Цифроземье» вы сможете получить все необходимые инструменты для роста вашего бизнеса в уже наступившую цифровую эпоху!
Самые актуальные и «болючие» темы:
🔥Опыт рекламных кампаний конкурентов и как его использовать на практике;
🔥ИИ-решения для бизнеса - только реальные кейсы и практика;
🔥Пошаговая инструкция у созданию продающего и вовлекающего видео-контента;
🔥Нестандартные каналы продаж;
🔥Персональный маркетинг и способы заставить ваших клиентов почувствовать себя особенными.
5 сентября • Воронеж • МТС Live Холл в Сити-парке «Град» • Региональный ИТ-форум «Цифроземье».
Регистрация обязательна - cifrozemie.ru
Нет времени на раздумье, надо действовать!
500 ошибка, отдать html страницу
htaccess
ErrorDocument 500 /500.html
Прописал правило на 500 ошибку, в php коде намеренно сделал ошибку. Но вместо того, чтобы отдать документ 500.html, браузер пишет мол не удалось отобразить ошибку.
Код ответа страницы: 500
Возможно ли когда в синтаксисе php допущена ошибка, отобразить документ?
Готовы освоить миграцию с MS SQL Server на PostgreSQL?
MS SQL теряет популярность на российском рынке, многие крупные компании переходят на PostgreSQL. Этот процесс требует специальных знаний и навыков, спрос на таких специалистов сейчас огромен. Хотите стать одним из них?
На практическом курсе по миграции с MS SQL Server на PostgreSQL вы научитесь:
- корректно переносить данные с одной БД на другую;
- понимать нюансы работы проектирования баз данных;
- правильно писать запросы на SQL;
- работать с git/github/gitlab для управления проектами.
Программа разработана для разработчиков с опытом работы с базами данных, проектировщиков, аналитиков, администраторов БД и DevOps.
Оставьте заявку прямо сейчас, чтобы получить специальную цену на курс и подарочные уроки: https://clck.ru/3Cub83
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576📌 Как начать развиваться в профессии дата-инженера?
👨💻Остсвойте лучшие практики работы с данными на онлайн-курсе «Data Engineer» . Получите структурированные знания о подходах и инструментах. Курс проходит с практикой в Yandex Cloud! Пройдите тест и получите доступ к 47 открытому уроку.
Старт занятий — 29 августа.
Успейте пройти вступительный тест и занять место в группе по спец.цене.
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru📌 Как начать развиваться в профессии дата-инженера?
👨💻Остсвойте лучшие практики работы с данными на онлайн-курсе «Data Engineer» . Получите структурированные знания о подходах и инструментах. Курс проходит с практикой в Yandex Cloud! Пройдите тест и получите доступ к 47 открытому уроку.
Старт занятий — 29 августа.
Успейте пройти вступительный тест и занять место в группе по спец.цене.
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruХотите научиться создавать масштабируемые и отказоустойчивые системы? Освойте работу с микросервисной архитектурой и станьте востребованным специалистом для крупных компаний!
Ждем вас на курсе «Microservice Architecture», с помощью которого вы сможете:
- работать с актуальными инструментами для разработки микросервисной архитектуры;
- планировать архитектуру и создавать масштабируемые fault-tolerant приложения;
- решать нетривиальные задачи в распределенных и децентрализованных системах;
- освоить паттерны проектирования, такие как шардирование и репликация.
👨💻🛠👨🏻💻 Программа подойдет архитекторам, системным аналитикам, разработчикам и DevOps-специалистам.
Старт группы уже 30 августа. Доступна рассрочка и 🎁 10% скидка по промокоду otus10 до 31.08 включительно⏱!
➡️ Пройдите тест прямо сейчас, чтобы чтобы активировать скидку и получить доступ ко всем открытым урокам курса: https://clck.ru/3CtCrc
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Как настроить авторизацию laravel и vue.js при этом они на расположены на разных хостах
Решил полностью разделить бэкэнд и фронтенд часть. Бэк и фронт запускаются на разных локальных хостах vue(localhost://5173) а laravel(localhost:127.0.0.1 ). Столкнулся с проблемой того что при входе в учётную запись на стороне фронта не могу осуществить вход. В config(laravel) пытался настроить cors по документации всё равно не могает и прописывал чтобы запросы шли именно с хоста vue.js всё равно выкидывает ошибку 419. Подскажите кто уже делал проеткы таким образом какие действия нужно совершать или где можно найти информацию по данному вопросу.
🔵 Научитесь создавать сложные масштабируемые системы на платформе 1С!
В OTUS стартует новый поток онлайн-курса «Архитектор 1С», где вы научитесь проектировать информационные системы, используя продвинутые возможности платформы 1С.
4 месяца обучения и вы сможете:
▫️ Формировать архитектуру окружения 1С,
▫️ Моделировать бизнес-процессы и создавать прототипы разработки
▫️ Проектировать технические проекты в СППР
▫️ Работать с Git, OneScript, Vanessa, SonarCube, Apdex, Grafana
▫️ Устанавливать и настраивать РИБ
А еще узнаете, как организовать работу отдела разработки 1С, какие есть виды документации в 1С и какие организационные мероприятия существуют в 1С.
➡️ Тест по архитектуре 1C. Готовы ли вы к обучению на курсе «Архитектор 1С»: https://clck.ru/3Cs7bu
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru❓ Какие паттерны нужно знать разработчикам? Один из них — паттерн Iterator.
☄️Именно его мы разберем 26 августа в 20:00 мск на открытом уроке, который пройдет в преддверии старта онлайн-курса «Архитектура и шаблоны проектирования» в OTUS.
📚На занятии со старшим разработчиком Андреем Поляковым, вы узнаете:
- Что из себя представляет подход Data Streams
- Как принцип инверсии зависимостей (dependency inversion principle, DIP) используется для получения паттерна Iterator
- Как применяется принцип инверсии зависимостей для получения повторно используемых алгоритмов над коллекциями объектов.
- Почему стоит избавляться от циклов при работе с коллекциями
После вебинара «Паттерн Iterator: от применения принципа DIP до Data Streams» вы сможете продолжить обучение на курсе.
➡️Регистрируйтесь прямо сейчас, чтобы не пропустить занятие: https://clck.ru/3CqtLU
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Ошибка при отправке event через Pusher : local.ERROR: Pusher error: cURL error 7: Failed to connect to localhost port 8080 after 0 ms:
Отправляю event тестовый на фронт
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class MyEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $message;
public function __construct($message)
{
$this->message = $message;
}
public function broadcastOn()
{
return new Channel('my-channel');
}
public function broadcastAs()
{
return 'my-event';
}
}
вот сам event
<?php
namespace App\Http\Controllers;
use App\Events\MyEvent;
use App\Events\TestEvent;
use Illuminate\Http\Request;
class TestEventController extends Controller
{
public function sendTestEvent(Request $request)
{
event(new TestEvent('Привет, это тестовое сообщение!'));
return response()->json(['status' => 'Событие отправлено']);
}
}
контролер
Запускаю потом очереди и в логах дает ошибку
[2024-08-09 15:23:37] local.ERROR: Pusher error: cURL error 7: Failed to connect to localhost port 8080 after 0 ms: Could not connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:8080/apps/838075/events?auth_key=cnppbxcgb0mhtfhieve4&auth_timestamp=1723217017&auth_version=1.0&body_md5=d32cd63fe1ba7f01b6756da9017f0f0d&auth_signature=1b2c3647055a9eed651c64b351c728d20a6e3d9b64ca07377dc93a900f85d6d4. {"exception":"[object] (Illuminate\\Broadcasting\\BroadcastException(code: 0): Pusher error: cURL error 7: Failed to connect to localhost port 8080 after 0 ms: Could not connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:8080/apps/838075/events?auth_key=cnppbxcgb0mhtfhieve4&auth_timestamp=1723217017&auth_version=1.0&body_md5=d32cd63fe1ba7f01b6756da9017f0f0d&auth_signature=1b2c3647055a9eed651c64b351c728d20a6e3d9b64ca07377dc93a900f85d6d4. at /Users/ruslantasmetov/pulsbackend/pulsebackend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php:164)
[stacktrace]
Может кто сталкивался , использую laravel 11
PHP Телеграм АПИ Получить посты с количеством просмотров
не могу никак найти информацию как получить посты и количество просмотров через PHP
Сейчас публикую посты с помощью CURL:
function sendTelegram($method, $response)
{
$ch = curl_init('https://api.telegram.org/bot' . TOKEN . '/' . $method);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $response);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
$resulttg = sendTelegram(
'sendPhoto',
array(
'chat_id' => $telegramchatid,
'caption' => $message,
'photo' => $photofortg,
'parse_mode' => 'HTML',
'reply_markup' => json_encode(array('inline_keyboard' => $keyboardtg))
)
);
тем самым я публикую фото с комментарием методом sendPhoto
не могу найти как обойти канал и просмотреть посты с количеством просмотров.
Запрос MYSQL из цикла в 1 запрос. Как и стоит ли?
Есть код:
for ($i = 0; $i < count($array_tip); $i++) {
$sql = "SELECT * FROM reestr WHERE tip LIKE '%$array_tip[$i]%' ORDER BY date DESC LIMIT 1";
$res = $conn->query($sql);
$numb_rows = $res->num_rows;
if (!$res) {
echo 'Не удалось подключиться к базе планов!';
} else {
if ($numb_rows == '0') {
$dateValueLast = '0';
} else {
while ($row0 = $res->fetch_assoc()) {
$dateValueLast = $row0('date');
}
}
$lastDateTip[] = $dateValueLast;
}
}
Есть 5 типов (отделов), в цикле запрашивается максимальная дата для каждого. Например, для 1 отдела последней датой окажется 10 августа, для 2 отдела - 13 августа и т.п.
Как сделать этот запрос без цикла? Вложенные запросы не поддерживают LIMIT, поэтому запрос выдаёт все записи (MAX(date) не работает). Есть ли смысл объединить этот запрос в 1 для оптимизации и ускорения загрузки?
Не знаете, как эффективно управлять конфигурацией и обеспечивать консенсус данных? Ваши проекты сталкиваются с проблемами масштабируемости и надежности?
Тогда присоединяйтесь к открытому вебинару 21 августа в 20:00 мск, где мы:
1. Рассмотрим основы и архитектуру Apache Zookeeper: алгоритмы обеспечения консенсуса данных (Zookeeper Atomic Broadcast с Paxos)
2. Узнаем, как Zookeeper обеспечивает координацию и синхронизацию в распределенных системах
3. Разберём методы настройки и администрирования Zookeeper
👨💻🛠👨🏻💻 Урок будет полезен разработчикам, DevOps-инженерам, администраторам систем и сетей, архитекторам ПО и всем, кто хочет глубже понять работу Apache Zookeeper.
🔴 Запишитесь прямо сейчас, чтобы не пропустить мероприятие: https://clck.ru/3CjTwr
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Добраться до текущего соединения
Для реализации http-метода CONNECT мне надо переслать все дальнейшие данные этого соединения в другой сокет. Хотел прочитать из php://input, но там пусто, поскольку connect-запрос не имеет тела. Мне надо каким-то образом добраться до tcp-сокета текущего http-запроса и потоково читать данные из него. Как это сделать?
❓Вопрос от пользователя
Не работает AccessControl на самописные роли RBAC в фреймворке YII2
Совсем новичок в yii2, пишу свой первый сайт. Я написал RBAC контроллер, написал нужные роли, правила и разрешения. Возникла проблема на моменте создания поведения для User контроллера: в behaviors() добавил AccessControl и прописал нужные доступы. Однако фильтр не пропускает самописные роли (user, admin). Пожалуйста, подскажите в чём проблема? Спасибо!
Код RBAC контроллера:
class RbacController extends Controller
{
public function actionInit()
{
$authManager = \Yii::$app->authManager;
// Create roles
$guest = $authManager->createRole('guest');
$user = $authManager->createRole('user');
$admin = $authManager->createRole('admin');
// Create simple, based on action{$NAME} permissions
$signin = $authManager->createPermission('/user/signin');
$logout = $authManager->createPermission('/user/logout');
$signUp = $authManager->createPermission('/user/signup');
$index = $authManager->createPermission('/user/index');
$history = $authManager->createPermission('/user/history');
$profile = $authManager->createPermission('/user/profile');
$usersList = $authManager->createPermission('/user/userlist');
// Add permissions in Yii::$app->authManager
$authManager->add($signin);
$authManager->add($logout);
$authManager->add($signUp);
$authManager->add($index);
$authManager->add($history);
$authManager->add($profile);
$authManager->add($usersList);
// Add rule, based on UserExt->group === $user->group
$userGroupRule = new UserGroupRule();
$authManager->add($userGroupRule);
// Add rule "UserGroupRule" in roles
$guest->ruleName = $userGroupRule->name;
$user->ruleName = $userGroupRule->name;
$admin->ruleName = $userGroupRule->name;
// Add roles in Yii::$app->authManager
$authManager->add($guest);
$authManager->add($user);
$authManager->add($admin);
// Add permission-per-role in Yii::$app->authManager
// Guest
$authManager->addChild($guest, $signin);
$authManager->addChild($guest, $signUp);
$authManager->addChild($guest, $index);
// user
$authManager->addChild($user, $profile);
$authManager->addChild($user, $history);
$authManager->addChild($user, $guest);
// Admin
$authManager->addChild($admin, $usersList);
$authManager->addChild($admin, $user);
}
}
Код behaviors() User контроллера
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::class,
'denyCallback' => function() {
if(Yii::$app->user->isGuest)
return $this->redirect('signin');
throw new ForbiddenHttpException('У вас нет доступа к этой странице');
},
'only' => [],
'rules' => [
[
'allow' => true,
'actions' => ['signin', 'signup'],
'roles' => ['?'],
],
[
'allow' => true,
'actions' => ['logout', 'profile', 'history'],
'roles' => ['user'],
],
[
'allow' => true,
'actions' => ['userlist'],
'roles' => ['admin'],
]
],
],
];
}
😊 Ваш интернет-магазин на 1С-Битрикс нуждается в улучшении? Вам надоело вручную передавать данные между системами? Хотите автоматизировать процессы и повысить эффективность работы?
На открытом вебинаре «Интеграция коробочной версии Битрикс 24 и 1С Битрикс» 21 августа в 20:00 мск мы разберём всё, что нужно знать для успешной интеграции.
Вы узнаете:
- как зарегистрировать пользователя в интернет-магазине 1С-Битрикс;
- как формировать и обрабатывать заказы;
- как создать входящий веб-хук и передавать данные о новом покупателе в Битрикс24;
- как создать исходящий веб-хук для передачи данных о сделках и приобретённых товарах обратно на сайт;
- как заполнить каталог товаров данными из CSV-файла с помощью Битрикс API;
- как настроить начальное оформление чертежей.
👉 Регистрируйтесь прямо сейчас и узнайте, как сделать процессы более эффективными и автоматизированными: https://clck.ru/3CVWj6
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruНе понимаете, какую роль играет архитектор 1С и почему его участие в проекте так важно?
Хорошие новости! Всего за пару часов вы узнаете:
- как архитектор 1С взаимодействует с командой и заказчиком;
- влияние архитектора 1С на проект;
- можно ли обойтись без него;
- как получить пользу от взаимодействия с архитектором 1С и как ему поддерживать свою ценность;
- как построить процессы команды с участием архитектора и при его отсутствии.
Присоединяйтесь к открытому вебинару 20 августа в 19:00 мск и сделайте этот прыжок в будущее!
Урок будет полезен разработчикам 1С, администраторам баз данных 1С и аналитикам 1С.
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://clck.ru/3CR5SJ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🎯 Не упустите возможность посетить открытый урок по работе с CMS 1С-Битрикс!
На уроке мы рассмотрим информационные блоки в Битрикс и создадим инфоблок «Каталог товаров».
Вы сможете задать свойства для товаров, а затем заполнить каталог данными из файла CSV, используя API Битрикс.
Также мы обсудим начальную настройку оформления чертежей.
Ждём вас 8 августа в 20:00 20:00 (мск).
➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://clck.ru/3CMfni
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
