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

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

前往频道在 Telegram

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

显示更多
2 906
订阅者
-124 小时
无数据7
-930
帖子存档
❓Вопрос от пользователя Обращение к ярлыку из php В папке test лежит ярлык на другую папку, ярлык называется help-me. Если делаю scandir: echo scandir('путь к test'); то на страницу выводится название ярлыка 'help-me.lnk' . Как можно из кода сделать scandir этого ярлыка? scandir('путь к test/help-me'); и scandir('путь к test/help-me.lnk'); возвращают false PHP задачи с собеседований

❓Вопрос от пользователя Ошибка Target class [DatabaseSeeder] does not exist (Laravel 10)
<?php

namespace Database\Seeders;
namespace App\Models\User;
use Illuminate\Support\Facades\Hash;

// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder {
    /**
    * Seed the application's database.
    */

    public function run(): void {
        User::factory( 100 )->create();
    }
}
Как и полагается, находится в App\database\seeders
"autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        },
        "files": [
            "app/helpers.php"
        ]
    },
в composer вроде тоже все нормально, composer dump-autoload запускал и все равно одна и та же проблема PHP задачи с собеседований

❓Вопрос от пользователя mysql_fetch_array() expects parameter 1 to be resource (or mysqli_result), boolean given Я пытаюсь получить данные из таблицы MySQL, но вылезает одна из этих ошибок:
mysql_fetch_array() expects parameter 1 to be resource, boolean given
или
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given
Вот мой код: $username = $_POST['username']; $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE $username"); while($row = mysql_fetch_array($result)) { echo $row['FirstName']; } PHP задачи с собеседований

❓Вопрос от пользователя Не правильно работают параметры wp_nav_menu() Суть проблемы состоит в том что параметры функции wp_nav_menu() странно себя ведут, например:
<?php 
  wp_nav_menu( [
  'theme_location'  => 'menu-header',
  'container'       => false,
  'menu_class'      => 'menu__list',
  'menu_id'         => false,
  'echo'            => true,
  'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
  ] );
?>
При таких заданных параметрах почему-то контейнер не отключается, но если напишу допустим nav, то тег контейнера меняется, к тому же 'menu_class' => 'menu__list', меняет класс не у тега <ul> а у контейнера... Вот так у меня регистрируется меню:
function test_menus(){

  $locations = array(
    'menu-header' => __('Header Menu', 'test'),
    'footer' => __('Footer Menu', 'test')
  );

  register_nav_menus($locations);
}

add_action( 'init','test_menus');


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

Привет! На связи Podlodka Crew, организатор IT-мероприятий по разным технологиям и языкам. Уже 22 апреля мы запускаем четверт
Привет! На связи Podlodka Crew, организатор IT-мероприятий по разным технологиям и языкам. Уже 22 апреля мы запускаем четвертый сезон конференции по PHP. Тема — практика работы с базами данных. И практики будет реально много. Ведь никакая теория не сравнится с возможностью увидеть применение инструментов и технологий в реальности при решении рабочих задач. Продолжаем знакомить вас со спикерами! Ребята поделятся кейсами и научат внедрять услышанное в собственные проекты: ⭐Олег Мифле из VK расскажет, какие бывают уровни изоляции транзакций, зачем они нужны и как устроены. Разберёт аномалии, влияющие на консистентность базы, и способы с ними справиться. ⭐Ильяс Салихов из RetailCRM раскроет тонкости работы с PostgreSQL, в том числе поговорим про индексы и типы данных. Объяснит нюансы миграции схемы в масштабе, рассмотрит батчинг-операции. ⭐Дмитрий Вагин из Wildberries тоже затронет тему миграций. Но не остановится на этом: научит строить грамотный flow работы с СУБД на проектах. Опишет, как устроены фикстуры и слепки в тестировании и разработке. Покажет проблемы изолированных сред, научит строить prod-like окружение. Отдельно остановиться на работе с чувствительными данными. ⭐Николай Губин из Авито раскроет преимущества Redis перед Memcached. Примеры из опыта проиллюстрируют, как применять богатство структур данных в Redis. Попробуем организовать конвейер по обработке и кэшированию. По-новому взглянем на возможности транзакций. Прокачаемся в оптимизации сетевых подходов с помощью пайплайнов. Ознакомиться с полным списком спикеров и докладов можно на сайте. Билеты уже в продаже, поспеши забрать свой💥 Реклама. ИП Толстая Елена Петровна ИНН:507503278104

❗️ Задача: создать файл на сетевом диске Путь к папке на сетевом диске: //nk-web/folder/ (nk-web - имя сервера; тоже сетевой) Функция is_dir с этим путём возвращает false (с любым написанием, \\nk-web\folder\, \\nk-web\folder, //nk-web/folder/, //nk-web/folder/). Но если вставить \nk-web\folder\ в проводник компьютера, то открывается нужная сетевая папка. При создании файла с именем '123.txt':
$f = fopen('//nk-web/folder/123.txt', 'a');
$text = 'test test';
fwrite($f, $test);
fclose($f);
Формируется файл в корне ЛОКАЛЬНОГО сервера с названием '_VL4NL~P.txt' и содержимым 'test test'.
Почему не получается создать файл в сетевой папке? Почему файл создаётся в корне локального сервера? Почему файл создаётся со странным названием, но корректным содержимым? PHP задачи с собеседований

❓Вопрос от пользователя Как перезаписать определенную строку в определенном файле? Возникла довольно трудная для моего опыта в php задача, с которой мне самостоятельно справиться увы не удается. Поэтому обращаюсь к вам за помощью. Задача следующая: При регистрации каждого нового пользователя на сайте, в каталоге: site ru/us/db/us/ создается файл, типа: 123456789 с его данными. Название файла - это id пользователя. Такой файл состоит из 10 строк. us/db/list - это файл, в котором перечисляются все зарегистрированные пользователи. Каждая строка - это отдельный пользователь. Этот файл формируется так: email*пароль*idпользователя В админке (site ru/admin/) я создал файл school.php, в котором делаю вывод всех пользователей, в следующем виде: Пользователь - Строка №5 (из файла данных пользователя) в input type=text... Задача состоит в том, чтобы в админке я мог менять значение Строки №5 в файле с данными у каждого Пользователя в отдельности.
chdir("..");
$cat=array();
$d=opendir("us/db/us");
while(($e=readdir($d))!=false)
  {
    if($e =="." || $e ==".." || $e==".htaccess" || $e=="admin") continue;
    $cat[]=$e;
  }
closedir($d);
 
$data_e=array();
 
$file=file("us/db/list");
foreach($file as $line)
  {
      $expl=explode("*",$line);
      $data_e[$expl[2]]=$expl[0];
  }
 
  if(isset($_GET['school']) && in_array($_GET['school'],$cat))
    {
       $file=file("us/db/us/$_GET[school]");
       $f=fopen("us/db/us/$_GET[school]","w");
       for($n=0;$n<count($file);$n++)
         {
           fwrite($f,$file[5]."\r\n");
         }
       fclose($f);
 
       echo "<meta http-equiv=refresh content=0; url=school.php>";
       exit();
    }
$text=file("us/db/us/$cat[$x]");
$rec=file("admin/db/us/$cat[$x]");


echo"<p>Пользователь: $text[1]</p>
       <form name='$cat[$x]' method='post'>
       <input name=school type=text value='$text[5]'>
       <button name=school type=submit value=Изменить>Изменить</button>
       </form>";
Пожалуйста, помогите справиться с поставленной задачей. Благодарю за помощь! PHP задачи с собеседований

Товарищи, подскажите Есть объект такого класса

class Client
{
    #[Context([DateTimeNormalizer::FORMAT_KEY => 'Y-m-d'])]
    public \DateTimeImmutable $passportIssuedDate;

    #[Context([DateTimeNormalizer::FORMAT_KEY => \DateTimeImmutable::ATOM])]
    public \DateTimeImmutable $agreementDateTime;
}
есть кастомный сериалайзер:

$encoders = [new JsonEncoder()];
$extractor = new PropertyInfoExtractor([], [new PhpDocExtractor(), new ReflectionExtractor()]);
$normalizers = [
    new DateTimeNormalizer(),
    new ObjectNormalizer(propertyTypeExtractor: $extractor),
];
$serializer = new Serializer($normalizers, $encoders);
Стандартный сериалайзер при вызове

$this->serializer->serialize($client, 'json');
выдает такое

{"passportIssuedDate":"2024-04-05","agreementDateTime":"2024-04-05T11:59:32+00:00"}
а кастомный такое

{"passportIssuedDate":"2024-04-05T11:59:32+00:00","agreementDateTime":"2024-04-05T11:59:32+00:00"}
Как заставить кастомный сериалайзер учитывать атрибуты Context для свойств? symfony5.4

❓Вопрос от пользователя sqlsrv выдаёт ошибку 102 у меня есть бд в которую нужно вносить данные введённые пользователем из формы. К бд я подключаюсь, а данные не вставляются. Вот код php:
<?php
    require_once('connect.php');

    $startDay = $_POST['startDay'];
    $endDay = $_POST['endDay'];

    $targetType = $_POST['taget-type'];
    $divisionType = $_POST['division-type'];
    $fio = $_POST['fio'];
    

    $firstName = $_POST['firstName'];;
    $secondName = $_POST['secondName'];
    $thirdName = $_POST['thirdName'];
    $phoneNumber = $_POST['phoneNumber'];
    $email = $_POST['email'];

    $organization = $_POST['organization'];
    $comment = $_POST['comment'];
    $birthday = $_POST['birthday'];
    $seriaPassport = $_POST['seriaPassport'];
    $numberPassport = $_POST['numberPassport'];

    $photo = $_POST['uploadImage'];

    $uploadDocument = $_POST['uploadDocument'];

    //print_r($_POST);

    $sqlInsert = "INSERT INTO SoloVisitTable (stardDay, endDay, targetType, divisionType, fio, secondName, firstName, thirdName, phoneNumber, email, organization, comment, birthday, seriaPassport, numberPassport, photo, uploadDocument) VALUES ($startDay, $endDay, $targetType, $divisionType, $fio, $firstName, $secondName, $thirdName, $phoneNumber, $email, $organization, $comment, $birthday, $seriaPassport, $numberPassport, $photo, $uploadDocument)"; //sql запрос

    $stmtInsert = sqlsrv_query($conn, $sqlInsert);

    if($stmtInsert){
        echo 'Инфа вставилась';
    }
    else{
        if( ($errors = sqlsrv_errors() ) != null) {
            foreach( $errors as $error ) {
                echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
                echo "Код: ".$error[ 'code']."<br />";
                echo "Сообщение: ".$error[ 'message']."<br />";
            }
        }
    }
?>
Сама проблема я думаю в запросе, но не понимаю где именно. PHP задачи с собеседований

❓Вопрос от пользователя Как отфильтровать правильно данные в Laravel? Хочу отфильтровать данные так:
{{base_url}}/models?source=0&search=Олег Киселев
чтобы фильтровалось сначала по source , а потом уже по search То есть, как и last_name (Киселев) так и first_name (Олег) так и вместе. Попытки к этому есть: Но этот запрос не работает так как надо, находит только по first_name, а last_name не учитывается
public function index(Request $request): AnonymousResourceCollection
    {
        return IndexResource::collection(
            Model::query()
                ->whereSource(SourceEnum::LARAVEL)
                ->whereFilter('source', $request->get('source'))
                ->orwhereLikeFilter('first_name', $request->get('search'))
                ->orwhereLikeFilter('last_name', $request->get('search'))
                ->paginate(25)
        );
    }
orWhereLikeFilter и whereFilter - это обычный where с like. Написан Trait. PHP задачи с собеседований

Как расти бекендеру и как подготовиться к интервью? В следующий вторник, 9-го апреля (18:30 msk) у devhands.io открытый вебинар для бэкендеров. На этот раз на животрепещущие карьерные темы. Что обсудим? - Карта развития бэкендера: от миддла до эксперта - Типовые ошибки на разных этапах интервью: составление резюме, референсы, общение с рекрутером и будущим руководителем - Прохождение coding sessions & architecture (system design) sessions - Как понять, “ваша” это компания или нет: на что обратить внимание и что спрашивать? - Какой трек выбрать: individual contributor или engineering manager? Автор и ведущий вебинара - Алексей Рыбак, ex-CTO Badoo и Vezet, член программного комитета Highload с многолетним опытом разработки программного обеспечения и управления технологическими организациями. Добавить в календарь. Подключиться можно через Zoom или YouTube. А если вам хочется новых знаний и навыков, то приходите на уникальные курсы devhands: 🔑 Буткэмп «Производительность и масштабируемость» позволит погрузиться в мир highload за максимально короткий срок 🔑С курсом «Системный дизайн высоконагруженных проектов» вы получите навыки проектирования высоконагруженных проектов “Живые” занятия в камерных группах - количество мест ограничено. Старт уже в апреле, приходите!

❓Вопрос от пользователя Не запускается geckodriver во время выполнения cron на Bitrix Написал модуль для Bitrix с использованием Selenium и geckodriver в частности. Использую php-библиотеку php-webdriver. При установке модуля в систему создается агент. Агенты выполняются по крону (при переводе агентов на крон делал все по инструкции с курсов разработчика Битрикса). После установки модуля обнаружил что мой агент не выполняется. Начал копать и пришел к тому, что при попытке запустить процесс geckodriver выдается исключение File is not executable. Make sure the path is correct or use environment variable to specify location of the executable. ("geckodriver"). Что делать в этом случае? Сам geckodriver в системе установлен. Права на него установил 777, владельцем поставил пользователя bitrix. До этого агенты запускались на хитах и этот агент отлично запускал geckodriver. Также проверял вызов функции, которая вызывается в агенте. Вызывал ее через консоль и через браузер (открывал страницу). В первом и во втором случае все работает хорошо. В чем может быть причина такого поведения, и как это исправить? PHP задачи с собеседований

❓Вопрос от пользователя Ошибка запуска laravel octane через sail Всем привет, я новичок в докере и в laravel, хотел протестир
❓Вопрос от пользователя Ошибка запуска 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 — высокая конкуренция, милл
👨🏻‍💻 Оффер в разработку за одно собеседование бесплатно Мы знаем, как трудно найти работу в IT — высокая конкуренция, миллионы тестовых, много этапов и отсутствие обратной связи  📍 В Хартле мы сокращаем время поиска работы в 12 раз и даем всем равные возможности — тебе нужно зарегистрироваться, пройти всего одно собеседования и ждать офферов от ведущих компаний на рынке 🎪 Говорят, что если подписаться на наш телеграм с топовыми вакансиями – работа найдется быстрее Переходи по ссылке и бронируй свое собеседование: Жмак