<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

Также почти к каждому уроку идут упражнения для закрепления материала.

Просмотрев курс и выполнив упражнения, Вы сможете без проблем создавать функциональные движки для самых различных сайтов.

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

Подписавшись по 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):

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