<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Разбор аргументов коммандной строки в PHP

Разбор аргументов коммандной строки в PHP

В прошлой статье мы говорили о том, как превратить php скрипт в консольную команду для выполнения рутинных действий. А в этой посмотрим как разобрать аргументы командной строки в массив имя_аргумента => значение.

При вызове php скрипта посредством консоли ему доступны, среди прочего, следующие глобальные массивы $argv, $argc. Первый содержит все аргументы переданные скрипту, а второй количество этих аргументов, т.е. это аналог count($argv).

Вот скрипт, который разбирает аргументы командной строки и преобразует их в массив.

<<?php

function parse_arguments($argv,$argc)
{
  $_args = array(); // массив разобранных аргументов
  $delim = ',';     // разделитель нескольких параметров
  
  for ($i = 1; $i < $argc; $i++) {
      
      // регулярным выражением проверяем, есть ли нужное нам соответствие
      if (preg_match('/^--([^=]+)=(.*)/', $argv[$i], $match)) 
      {
        // если в значение аргумента есть разделитель
        if( strpos( $match[2], $delim ) !== false ) 
        {
          // преобразуем значение в массив из этих аргументов
          $_args[$match[1]] = explode( $delim, $match[2] );
        } 
        else {
          $_args[$match[1]] = $match[2];
        }
      }
  }
  
  return $_args;
  
}

// вызываем нашу функцию, передавая ей глобальные параметры $argv, $argc
$args = parse_arguments($argv,$argc);

// выводим в консоль
print_r($args);

Создаем файл parse_cli.bat следующего содержания:

@echo off

php parse_cli.php %*

Заметьте, что и файл parse_cli.php и parse_cli.bat лежат в одной папке. Однако, если вы собираетесь использовать свою команду parse_cli из любой точки ОС, то parse_cli.bat нужно положить в папку доступную в PATH, и в самом parse_cli.bat нужно прописать полный путь к файлу parse_cli.php.

Пример вызова:

C:\>parse_cli --create-controller=HomeController --views-path=home --views=index.html,login.html,dashboard.html

Вывод:

Array
(
  [create-controller] => HomeController
  [views-path] => Array
  (
    [0] => home
  )

  [views] => Array
  (
    [0] => index.html
    [1] => login.html
    [2] => dashboard.html
  )
)

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.