Мне нужно запустить один из моих сценариев CI в командной строке. Мне нужно передать массив контроллеру, чтобы перейти к скрипту. Вот что у меня прямо сейчас:Codeigniter передаёт массив контроллеру через CLI
$params = array(
'a' => var1,
'b' => var2
);
Тогда CMD бег:
php index.php process process_opk params
В мой контроллер, просто чтобы посмотреть, как/если массив приходит через правильно у меня есть:
public function index($args) {
print_r($args);
}
и вывод этого params
в виде строки.
Нужно ли сначала сериализовать массив, прежде чем отправлять его? Я думаю, CLI изменяет, как переменные передаются через CLI, я не прав? Если бы кто-нибудь мог подробно остановиться на этом и продемонстрировать лучшую практику, это было бы здорово. Благодаря!
Обновление: Лучшее решение, которое я могу найти до сих пор, - это base64_encode сериализованные данные и отправить его как длинную строку. Затем в контроллере декодируют и несериализуют и отправляют массив в мой скрипт.
Ну, CI не допускает '{} =' по умолчанию и, вероятно, более того, поэтому не стоит риска. Это работает на то, что мне нужно. –