Как настроить поток ввода в PHP / PHPstorm при отладке?

Я почти никогда не работал с потоками ввода в PHP, но я вынужден сделать это из-за сайта hackerrank.com, который пишет свои проблемы для более «потоковых» языков, таких как C ++ или Java. Я понял, как с этим справиться, но я бы хотел использовать отладчик в IDE и «записать» во входной поток, чтобы я мог протестировать свою программу.

Простой скрипт, например:

<?php
$stdin = fopen("php://stdin", "r");
$wordCount = trim(fgets($stdin));

for ($i = 0; $i < $wordCount; $i++) {
$array1 = str_split(trim(fgets($stdin)));
...

Как мне написать что-нибудь «php: // stdin»?

1

Решение

Немного поздно, и не самый политкорректный ответ, но если вы просто тестируете, у вас есть два варианта:

Когда вы запускаете в режиме сценария внутри PHPStorm, он запускает консоль внутри IDE, там вы можете скопировать и вставить любой ввод, и отладчик будет работать очень хорошо.

И второй вариант, если вы не хотите копировать и вставлять, вы можете создать stdin.txt и изменить строку кода на

$handle = fopen ("stdin.txt","r");

Внутри stdin.txt вы можете иметь вход для тестирования. Обязательно верните его обратно, когда закончите тестирование.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]