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


Гео и язык канала: Россия, Русский
Категория: Технологии


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

Связанные каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


Репост из: Библиотека собеса по PHP | вопросы с собеседований
Розыгрыш 3 подписок Telegram Premium сроком на 3 месяца
Условия участия:
  • В розыгрыше участвуют все подписчики
  • Необходимо быть подписчиком 2 каналов
  • Конец розыгрыша: 17.04.2024 15:00


❓Вопрос от пользователя

Ошибка запуска laravel octane через sail

Всем привет, я новичок в докере и в laravel, хотел протестировать laravel octane, через sail,

у самого window использовал wsl2 ubuntu, создал проект установил sail, запустил докер контейнеры, позже установил laravel octane, но при запуске сервера каждый раз пишет "Server is already running" - при том что сам не запускал, переход на 127.0.0.0:8000 не даёт результатов, можете подсказать в чем дело?

пробывал и перезапускать docker, и пересоздавать проект, и ставить по многу раз octane.

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


👨🏻‍💻 Оффер в разработку за одно собеседование бесплатно

Мы знаем, как трудно найти работу в IT — высокая конкуренция, миллионы тестовых, много этапов и отсутствие обратной связи 

📍 В Хартле мы сокращаем время поиска работы в 12 раз и даем всем равные возможности — тебе нужно зарегистрироваться, пройти всего одно собеседования и ждать офферов от ведущих компаний на рынке

🎪 Говорят, что если подписаться на наш телеграм с топовыми вакансиями – работа найдется быстрее

Переходи по ссылке и бронируй свое собеседование:
Жмак


❓Вопрос от пользователя
Как изменить url для сброса пароля на laravel

При использовании базовой нотификации отправляется письмо для сброса со следующей ссылкой:

http://127.0.0.1:8000/password/change?token=236359ccf050d6616c4e0405c29df7e9eeee11228e61899836afa5a2db347b876c92&email=admin%40gmail.com
При использовании же кастомной нотификации, которую я создаю в папке app\Notifications, url преобразуется уже в динамический вид:

http://127.0.0.1:8000/password/change/f9f100222f214f2a65fbb1ba46b516bfcc5ee2egca56111917d922cdc5758312.
Вот как сделать так, чтобы при использовании моей нотификации, url был таким же,как и при использовании базовой нотификации.

Код ResetPassword (сама нотификация):


Как архитектурно правильно подходить к избыточности при проектировании высоконагруженных систем?

Узнайте на бесплатном практическом уроке «Балансировка и отказоустойчивость приложений с HAProxy» от OTUS, где вы вместе с опытным экспертом разберете:

1. Как настраивать TCP / UDP балансировщик
2. Как работает и настраивается haproxy
3. Ответы на все возникающие вопросы по теме

Занятие пройдёт 28 марта в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!

Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/78Fi/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru


🔥Тест по архитектуре и шаблонам проектирования от OTUS.

Пройдите вступительный тест из 9 вопросов и получите:
▫️спец. цену на курс
▫️доступ к открытым урокам курса
▫️курс по Git в записи бесплатно.

Тестирование поможет вам узнать свой уровень знаний и готовы ли вы к обучению на онлайн-курсе "Архитектура и шаблоны проектирования"!

➡️ Не упусти свой шанс — пройди вступительный тест, чтобы попасть в мартовскую группу: пройти тест

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576


⚡️PHP-разработчик? Изучи Битрикс24 и увеличь свою ценность в команде

Прокачай необходимые навыки всего за 5 месяцев на онлайн-курсе от OTUS.

Вы научитесь:
✅ устанавливать и настраивать виртуальную машину BitrixVM с последующей быстрой установкой системы Bitrix24;
✅ кастомизировать интерфейс, компоненты системы и модули;
✅ разрабатывать свои компоненты, обработчики событий, модели данных, агенты;
✅ работать с дизайнером бизнес-процессов и др.

Все это позволит претендовать на вакантные позиции в крупных российских компаниях.

Стартуем уже 27 марта!

➡️ Не упускайте возможность расширить карьерные горизонты в IT, оставьте заявку прямо сейчас: Оставить заявку

💥Бонусом получишь:
- спец. цену на курс
- доступ к открытым урокам курса

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576




Php спит перед загрузкой сайта

У меня есть код, вот его кусок:

echo "файл загружен успешно: $filename";
sleep(10);
unlink($filename);
И дело в том, что сайт загружается как раз 10 секунд, и к тому времени файл уже удаляется, как сделать так, чтобы sleep работал вовремя, а не перед загрузкой сайта? Заранее спасибо.

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


xdebug не может соединиться с VSCode

Нужно настроить коннект xdebug с VScode. В xdebug конфиги такие (он не в docker):

zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.start_with_request = yes
xdebug.discover_client_host = true
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9000
xdebug.idekey = vsc
xdebug.mode = debug
xdebug.trace_output_name = trace.%s.%u
xdebug.profiler_output_name = cachegrind.out.%R.%u
xdebug.output_dir = /tmp
xdebug.log = /var/log/xdebug.log
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 1
xdebug.output_dir = /var/www/.xdebug
xdebug.cli_color=1
в VSCode в launch.json

{
"version": "0.2.0",
"configurations": [
{
"name": "remote XDebug",
"type": "php",
"request": "launch",
"hostname": "127.0.0.1",
"port": 9000,
"pathMappings": {
"/var/www/crm.itscript.local": "${workspaceRoot}"
}
},
]
}
В логах ошибка - что не удалось соединится с клиентом, не могу понять почему, если они на одном хосте, что клиент что xdebug!

ERR: Could not connect to debugging client. Tried: 127.0.0.1:9000 (fallback through xdebug.client_host/xdebug.client_port).

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




Не поворачиваются картинки на мобильном устройстве с использованием php

Есть сайт с картинками, которые подгружаются из базы данных и отображаются на сайте в ряд. Необходимо реализовать функционал поворота данных картинок. Реализовал поворот при помощи данного кода:

$image = imagecreatefromjpeg($path);
$rotate = imagerotate($image, $degree, 0);
imagejpeg($rotate, $path);
imagedestroy($image);
Проблема в том, что на компьютере данный код отлично отрабатывает и картинки поворачиваются без проблем, а вот на мобильном устройстве картинки вообще не поворачиваются. Подскажите в чём может быть причина?

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


Девять шаблонов проектирования ПО, которые вы должны знать!

Освойте их на бесплатном практическом уроке от OTUS и Андрея Полякова — старшего разработчика в Unlimint.

После вебинара вы сможете:
– понимать основные принципы и концепции, лежащие в основе шаблонов GRASP;
– оценивать и выбирать наиболее подходящие шаблоны для конкретных проектов;
– разрабатывать архитектуры, основанные на принципах GRASP, что позволит создавать более качественное и надежное ПО.

Занятие пройдёт 29 февраля в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». Доступна рассрочка на обучение!

➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и познакомиться с форматом обучения: пройти тест

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576


Передача переменных в подключаемый файл

Доброго всем времени суток господа

include('./block.php'); // работает
include('./block.php?alfa=1&beta=2'); // не работает
Собственно не могу передать get переменную в подключаемый файл. Айфреймы в моем случае не катят. В гугле пишут, что 'должно работать'. Но в реальности ошибка

warning: include(./block.php?alfa=1&beta=2)
failed to open stream
короче как бы он пытается найти не файл с переменной, а файл с таким адресом

Подскажите, как прописать GET параметры в подключаемый файл.

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


Лучший подарок - обучение! Последний день скидки🔥

Курс «PHP-разработчик» от Слёрм, старт потока 4 марта.

⚡️Скидка 15% по промокоду BallmerPeak124
*действует до 26 февраля

PHP остаётся одним из основных языков программирования для бэкенд-разработки веб-проектов. В PYPL Index 2023 и TIOBE Index PHP занимает 10-11-е строчки самых популярных ЯП в мире.

💎«PHP-разработчик: от основ до middle» - это комплексный курс, идем от базовых тем и вгрызаемся в самую сложную мякотку программирования. Таких же курсов на российском рынке больше нет: серьезно, мы проверяли.

Обучение подойдёт Junior PHP-разработчикам и начинающим программистам, которые пишут на других языках.

Чему мы учим наших студентов:
✔️писать безопасные приложения, используя базовые концепции и синтаксис языка;
✔️работать с библиотеками и фреймворками;
✔️деплоить и запускать приложения в облаке и на сервере;
✔️работать с базами данных;
✔️разрабатывать функциональность для веб-сайтов.

Ты напишешь проект, который не стыдно положить в портфолио, систематизируешь знания и навыки, и увеличишь шансы получить оффер на позицию Middle PHP-разработчик.

⭐️Программа обучения и демо-доступ по ссылке

Реклама ООО «Слёрм» ИНН 3652901451




Лучший подарок - обучение!🔥

Курс «PHP-разработчик» от Слёрм, старт потока 4 марта.

⚡️Скидка 15% по промокоду BallmerPeak124
*действует до 26 февраля

PHP остаётся одним из основных языков программирования для бэкенд-разработки веб-проектов. В PYPL Index 2023 и TIOBE Index PHP занимает 10-11-е строчки самых популярных ЯП в мире.

💎«PHP-разработчик: от основ до middle» - это комплексный курс, идем от базовых тем и вгрызаемся в самую сложную мякотку программирования. Таких же курсов на российском рынке больше нет: серьезно, мы проверяли.

Обучение подойдёт Junior PHP-разработчикам и начинающим программистам, которые пишут на других языках.

Чему мы учим наших студентов:
✔️писать безопасные приложения, используя базовые концепции и синтаксис языка;
✔️работать с библиотеками и фреймворками;
✔️деплоить и запускать приложения в облаке и на сервере;
✔️работать с базами данных;
✔️разрабатывать функциональность для веб-сайтов.

Ты напишешь проект, который не стыдно положить в портфолио, систематизируешь знания и навыки, и увеличишь шансы получить оффер на позицию Middle PHP-разработчик.

⭐️Программа обучения и демо-доступ по ссылке

Реклама ООО «Слёрм» ИНН 3652901451


Как вывести данные из MySQL при помощи PHP?

Есть таблица news, в ней 5 полей id, text, title, author, date. Необходимо вывести на странице эти данные. У меня никак не получается это сделать: все время какие-либо ошибки. Пробовал использовать функцию mysql_fetch_assoc, но что-то, как ее применять, я не очень понял постоянно - одна и та же ошибка expects parameter 1 to be resource, boolean. Я, конечно, понимаю, что это значит, но вот как исправить - нет...

$news = mysql_query("SELECT * FROM `news` ");
while ($row = mysql_fetch_assoc($news, MYSQL_ASSOC)) {
foreach ($row as $col_value) {
print "\t\t$col_value\n";
}
}

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


Не могу обновить DateTime в MySQL с помощью PHP

При попытке обновить поле с форматом DateTime пишет:

Fatal error: Uncaught Error: Object of class DateTime could not be converted to string in /var/www/MiniCRM/app/models/todo/tasks/ToDoTasksModel.php:137 Stack trace: #0 /var/www/MiniCRM/app/models/todo/tasks/ToDoTasksModel.php(137): PDOStatement->execute() #1 /var/www/MiniCRM/app/controllers/todo/tasks/ToDoTasksController.php(80): app\models\todo\tasks\ToDoTasksModel->edit() #2 [internal function]: app\controllers\todo\tasks\ToDoTasksController->editReg() #3 /var/www/MiniCRM/app/Router.php(59): call_user_func_array() #4 /var/www/MiniCRM/index.php(29): app\Router->run() #5 {main} thrown in /var/www/MiniCRM/app/models/todo/tasks/ToDoTasksModel.php on line 137

А вот какое значение я пытаюсь передать:

2024-01-12T16:41

Вот код:

$finish_date_value = $data['finish_date'];
$reminded_at_option = $data['reminded_at'];
$finish_date = new \DateTime($finish_date_value);

switch ($reminded_at_option) {
case '30_minutes':
$interval = new \DateInterval('PT30M');
break;
case '1_hour':
$interval = new \DateInterval('PT1H');
break;
case '2_hours':
$interval = new \DateInterval('PT2H');
break;
case '12_hours':
$interval = new \DateInterval('PT12H');
break;
case '24_hours':
$interval = new \DateInterval('P1D');
break;
case '7_days':
$interval = new \DateInterval('P7D');
break;
}

$prereminded_at = $finish_date->sub($interval);
$data['reminded_at'] = $prereminded_at->format('Y-m-d\TH:i');

$reminded_at = $data['reminded_at'];

$st = $this->db->prepare("UPDATE `todo_tasks` SET title = ?, description = ?, category = ?, status = ?, priority = ?, finish_date = ?, reminded_at = ? WHERE id = ?");
$st->execute([$title, $description, $category, $status, $priority, $finish_date, $reminded_at, $id]);


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



Показано 20 последних публикаций.