Как скопировать файл для автозагрузки через командную строку

Обновлено: 03.07.2024

Composer — это менеджер зависимостей для PHP (аналогичный npm для Node.js или pip для Python).

Composer подтянет все необходимые пакеты PHP, от которых зависит ваш проект, и будет управлять ими за вас. Он используется во всех современных средах и платформах PHP, таких как Laravel, Symfony, Drupal и Magento.

В этой статье объясняется, как установить Composer в системах Debian 10. Мы также расскажем, как использовать Composer для создания проектов PHP и управления ими.

Перед установкой Composer убедитесь, что в вашей системе Debian установлены все необходимые пакеты:

Composer предлагает установщик, написанный на PHP, который мы будем использовать для установки Composer.

Загрузите установщик с помощью wget:

Приведенная выше команда сохранит файл как composer-setup.php в текущем рабочем каталоге.

Composer — это однофайловое приложение CLI, которое можно установить глобально или как часть проекта. Для глобальной установки требуются права sudo .

Чтобы установить Composer глобально как общесистемную команду, которая будет доступна для всех пользователей, просто поместите файл в каталог, указанный в системном PATH. Следующая команда устанавливает Composer в каталог /usr/local/bin:

Теперь вы можете использовать Composer, запустив composer в своем терминале.

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

Это загрузит файл с именем composer.phar . Чтобы использовать Composer, перейдите в каталог проекта и запустите php composer.phar

Когда доступна новая версия Composer, вы можете обновить установку с помощью следующей команды:

Теперь, когда Composer установлен в вашей системе Debian, мы покажем вам, как создать проект PHP.

Начните с создания каталога, который будет корневым каталогом проекта и будет содержать файл composer.json. Этот файл описывает ваш проект PHP, включая зависимости PHP и другие метаданные.

Выполните следующие команды, чтобы создать каталог проекта и переключиться на него с помощью:

Далее мы инициализируем новый файл composer.json с помощью команды composer require и укажем пакет, который хотим загрузить. В этом примере мы создадим пример приложения, которое будет печатать текущее время с помощью пакета с именем carbon .

Выполните следующую команду, чтобы инициализировать новый файл composer.json и установить пакет углерода:

Как показано в выходных данных, Composer создает файл composer.json, загружает и устанавливает углерод и все его зависимости.

Если вы укажете каталог вашего проекта с помощью ls , вы увидите, что он содержит два файла composer.json и composer.lock , а также каталог поставщика.

  • vendor — каталог, в котором хранятся зависимости проекта.
  • composer.lock — файл, содержащий список всех установленных пакетов, включая версии пакетов.
  • composer.json — файл, описывающий проект PHP и все зависимости PHP.

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

Создайте файл с именем testing.php и вставьте следующий код:

Давайте проанализируем код построчно.

В первой строке после открывающего тега php мы включаем файл vendor/autoload.php, автоматически сгенерированный Composer. Этот файл автоматически загрузит все необходимые библиотеки.

Далее мы используем псевдоним Carbon\Carbon как Carbon , а в последней строке мы печатаем текущее время, используя метод Carbon now.

Запустите скрипт, набрав:

Вывод должен выглядеть примерно так:

Позже, если вам потребуется обновить пакеты проекта, введите:

Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет найдена более новая версия и ограничение версии совпадает с версией, указанной в composer.json , Composer обновит пакет.

Мы показали вам, как установить Composer в Debian 10 и как использовать его для создания базового проекта PHP.

Для получения дополнительной информации о Composer посетите страницу официальной документации.

На данный момент единственный способ взаимодействовать с разделами автозагрузки в файле composer.json — использовать команду dump-autoload. Если реализованы следующие команды, файл composer.json может быть лучше обработан с помощью утилиты командной строки:

требовать автозагрузки

Команда require-autoload добавляет новое пространство имен или путь к файлу composer.json из текущего каталога.

После добавления/изменения автозагрузки следует запустить неявный дамп-автозагрузку

Параметры

  • --dev: изменения затрагивают раздел autoload-dev

удалить-автозагрузка

Команда remove-autoload удаляет пространства имен или путь к файлу composer.json из текущего каталога.

После добавления/изменения автозагрузки следует запустить неявный дамп-автозагрузку

Параметры

  • --dev: изменения затрагивают раздел autoload-dev

Добавление команд в интерактивную процедуру инициализации

Команду require-autoload следует добавить в интерактивную процедуру инициализации, чтобы упростить создание composer.json.

Открытые вопросы:

  • Require-autoload можно назвать add-autoload . Для единообразия я назвал его таким образом, чтобы он соответствовал команде require.
  • Порядок аргументов для psr4/psr0 можно изменить в команде require-autoload, чтобы сделать его более совместимым с добавлением classmap/файлов.

В этом варианте путь всегда указывается после выбранного типа автозагрузки.

Мысли и комментарии приветствуются

Текст был успешно обновлен, но возникли следующие ошибки:

прокомментировал curry684 30 марта 2016 г.

Разве для таких сложных модификаций гораздо практичнее просто написать сценарий самостоятельно?

Я не вижу особого смысла добавлять отдельные команды для всех возможных модификаций — это файл JSON, поэтому каждый может (машина) легко изменить его.

Селдаек прокомментировал 15 апреля 2016 г.

Да, я не думаю, что мы действительно хотим предлагать это из CLI, это будет набор кода для очень ограниченного использования, поскольку обычно это делается один раз при создании пакета.

ktomk прокомментировал 10 июля 2016 г. •

С JSON не так просто работать из командной строки. Может быть, на основе предложения @curry684 возможно иметь какую-то команду "json", поэтому композитор предоставляет ее самостоятельно в командной строке?

прокомментировал docteurklein 4 января 2018 г. •

Меня также заинтересовало бы встроенное решение в CLI композитора, но, поскольку мне кажется, что это не нужная функция, я написал для этого однострочный код:

cat composer.json | jq --indent 4 '.autoload."psr-4" |= . + ' | файл composer.json

или более общий, многоразовый подход для добавления в ~/.*shrc :

прокомментировал docteurklein 4 января 2018 г. •

Извините за некротред, но я нахожу текущее состояние обработки автозагрузки немного сложным (создание действительного раздела автозагрузки с первой попытки - это не то, чего я часто добиваюсь).

Было бы замечательно, если бы Composer предоставил возможность угадывать автозагрузку?

где находится src/Test.php

добавит запись автозагрузки, содержащую:

PS: редактировать json вручную ужасно.

hparadiz прокомментировал 19 мая 2018 г.

В итоге я использовал для этого этот код:

Файл выходит нормально. Вполне приемлемо даже для совершенно нового проекта. Однако я устал запускать это в существующих крупных проектах, поскольку я не уверен, как это приведет к упорядочению данных json.

KEINOS прокомментировал 2 марта 2019 г.

PS: ужасно редактировать json вручную @docteurklein

Я согласен. Ненавижу думать о косой черте и бегстве от JSON. Это ужас.

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

Но я +1 за эту функцию. Так как многие документы говорят нам редактировать и добавлять вручную (через редактор).

CaliforniaMountainSnake прокомментировал 7 июня 2020 г.

Однострочник для установки некоторого пути автозагрузки в composer.json:

devnll прокомментировал 18 января 2021 г.

+1 для этой функции. Кажется странным, что это существует для репозиториев и дополнительных, но не для автозагрузки :(

Что-то, с чем я столкнулся, если это может быть полезно:

В моей системе использование json_decode/encode в соответствии с рекомендациями приводит к созданию composer.json, что приводит к сбою последующего использования composer require, поскольку он ожидает этого (объекта):

но composer.json содержит это (массив):

Я заработал, декодируя объект (вместо массива), что также означало добавление раздела автозагрузки через свойства объекта (вместо индексов массива):

При работе с PHP-проектами разработчикам часто приходится управлять множеством сторонних библиотек. Но установка и обновление этих библиотек довольно сложны. Чтобы решить эту проблему, вы можете использовать Composer и Autoload, чтобы сэкономить время и усилия.

  1. 1. Что такое Композитор?
    1. 1.1. Распространенные проблемы в управлении библиотеками
    2. 1.2. Преимущества Composer
    3. 1.3. Установите и активируйте Composer
      1. 1.3.1. Проверьте, установлен ли PHP
      2. 1.3.2. Установите Composer в Windows
      3. 1.3.3. Установите Composer на CentOS/RHEL/Ubuntu
        1. 1.5.1. Настройка Composer для новых проектов PHP
        2. 1.5.2. Интеграция библиотек в проект PHP с помощью Composer
        3. 1.5.3. Удаление библиотеки из проекта PHP
          1. 1.6.1. Диапазон версий
          2. 1.6.2. Подстановочные версии
          3. 1.6.3. Диапазоны дефисов
          4. 1.6.4. Тиддл Диапазон
          5. 1.6.5. Диапазон каретки
          6. 1.6.6. Мастер разработки
            1. 2.1. Что такое автозагрузка?
            2. 2.2. Как работает автозагрузка?

            Теперь давайте узнаем, что такое Composer и Autoload и как их использовать в PHP!

            используйте Composer и Autoload, чтобы сэкономить время и силы на установку и обновление сторонних библиотек

            Что такое Composer?

            Композитор — это инструмент для управления зависимостями в PHP. Проще говоря, Composer используется для управления библиотеками в вашем проекте PHP.

            Composer позволяет объявлять библиотеки в ваших проектах PHP, автоматически загружать код библиотек, создавать и добавлять необходимые файлы в проекты PHP, а также обновлять библиотеки, когда у них появляются новые версии.

            Распространенные проблемы управления библиотеками

            При работе с PHP-проектами, если вы не используете Composer, вам придется столкнуться со многими проблемами при управлении библиотекой.

            Во-первых, вам нужно скачать и переместить их в папку проекта PHP, чтобы использовать внешние библиотеки. Однако установка довольно сложна и ее трудно запомнить.

            Кроме того, во многих случаях одни библиотеки зависят от других. Поэтому их обновление занимает много времени и сил, потому что нужно найти оригинальную библиотеку. Например, библиотека А зависит от библиотеки Б, и если в библиотеке Б есть новая версия, вам придется сначала найти и обновить ее в библиотеке А.

            Теперь, благодаря Composer, перечисленные выше проблемы можно легко решить!

            Преимущества Composer

            Composer предлагает разработчикам два основных преимущества:

            • Помогите разработчикам централизованно управлять сторонними библиотеками, а также их версиями, просто и быстро с помощью файла composer.json.
            • Автоматический поиск и обновление новых версий библиотек, необходимых для проектов PHP.

            Установить и активировать Composer

            Чтобы установить и активировать Composer, выполните следующие действия:

            Проверить, установлен ли PHP

            Во-первых, вам необходимо установить PHP. Чтобы проверить, установлен ли PHP, введите в терминале следующую команду:

            Установите Composer в Windows

            Установить Composer в Windows очень просто и быстро. Вам просто нужно скачать файл Composer-Setup.exe, а затем запустить его.

            По умолчанию Composer добавляет свой путь к системной переменной среды PATH, чтобы вы могли вызывать команду composer из любого места. Однако, если вы не можете запустить команду composer, добавьте значение C:\ProgramData\ComposerSetup\bin в системную переменную среды PATH.

            Установите Composer на CentOS/RHEL/Ubuntu

            Перейдите в терминал и введите следующую команду для установки Composer:

            Некоторые общие команды

            При работе с Composer вам понадобятся следующие общие команды:

            • Проверьте текущую версию Composer:
            • Обновите последнюю версию Composer:
            • Очистите кэш-память Composer (чтобы Composer перезагрузил библиотеки в кэш-память):
            • Поиск пакетов библиотек:

            Как использовать Composer в PHP-проектах

            Настройка Composer для новых проектов PHP

            Первое, что вам нужно сделать, это создать файл composer.json. Этот файл содержит все данные для настройки Composer для проекта. Это можно сделать, добавив в терминал следующую команду:

            После этого вам нужно объявить файл composer.json следующим образом:

            Готово! Я закончил создание файла composer.json со следующим содержимым:

            С этого момента настройки Composer (включая настройки для библиотек) будут сохраняться в этом файле composer.json.

            Интеграция библиотек в проект PHP с помощью Composer

            Во-первых, вам нужно определить, какие библиотеки нужны вашему проекту PHP, выполнив поиск здесь. После того, как вы определили библиотеки, которые необходимо использовать в вашем проекте PHP, интегрируйте их в свой проект PHP с помощью Composer двумя способами, указанными ниже:

            Способ 1. Введите команду на терминале

            Например, я хочу использовать последнюю версию библиотеки phpro/grumphp (она используется для проверки качества кода). Поэтому я ввожу в терминал следующую команду:

            Эта команда потребует от Composer загрузки библиотеки phpro/grumphp. Эта библиотека будет сохранена в файле поставщика в вашем проекте PHP.

            Кроме того, автоматически создается файл vendor/autoload.php. Этот файл используется для автоматической загрузки библиотек для проекта PHP.

            Вернитесь к файлу composer.json, в файле появится следующий код:

            • phpro/grumphp — это библиотека, используемая для проекта PHP.
            • 0.19.1 — текущая версия библиотеки.

            С этого момента, когда вы хотите поделиться своим проектом PHP, просто скопируйте только файл composer.json, а не всю папку поставщика. Когда вы вставляете файл composer.json на другой компьютер, Composer автоматически обновляет папку поставщика.

            Способ 2. Введите команду в файл composer.json

            Вместо того, чтобы вводить команду непосредственно из терминала в качестве метода 1, вы можете отредактировать описание библиотеки whoops в файле composer.json, добавив в раздел require код следующего содержания:

            Например, я хочу интегрировать библиотеку phpro/grumphp версии 0.19.1 в Composer, поэтому я заполняю раздел require следующим содержанием:

            После этого введите обновление композитора, чтобы установить библиотеку. Эта команда автоматически обновит последнюю версию некоторых библиотек, необходимых для проекта PHP.

            Преимущество второго метода заключается в том, что вы можете получить список всех библиотек перед вводом команды composer update. Поэтому этот способ очень удобен, когда нужно установить сразу много библиотек.

            Чтобы использовать указанные выше библиотеки для проекта, вам просто нужно ввести команду include vendor/autoload.php в файл index.php в проекте PHP.

            Удалить библиотеку из проекта PHP

            Чтобы удалить библиотеку, которая уже была интегрирована в проект PHP (сохранена в файле поставщика), вы можете воспользоваться одним из двух способов:

            Способ 1. Использование команды composer

            В терминале введите следующую команду:

            В этой команде поставщик/пакет — это имя библиотеки, которую вы хотите удалить. Например, я хочу удалить библиотеку phpro/grumphp, поэтому команда будет такой:

            Способ 2. Обновите файл composer.json

            Просто перейдите к файлу composer.json, перейдите к разделу require, удалите нужную папку (например, phpro/grumphp ) и введите команду composer update.

            Указать версии для библиотек в Composer

            В некоторых случаях разработчикам не нужно использовать последнюю версию библиотеки, достаточно использовать определенную версию. Для этого вы можете указать версии библиотек в Composer, используя 6 способов ниже:

            Диапазон версий

            Например, чтобы указать, что Composer разрешено использовать только версии до версии 0.19 и не разрешено использовать версию 0.17 библиотеки phpro/grumphp, я ввожу в терминал следующую команду:

            Подстановочные версии

            Этот метод используется для того, чтобы Composer использовал только версии библиотеки в диапазоне x.x.* .

            Например, если я использую команду composer require phpro/grumphp "0.18.*", Composer может использовать только версии после версии 0.18 и до версии 0.19 (например, 0.18.1, 0.18.2, . ) библиотеки phpro/grumphp.Это похоже на использование «>=0.18

            Диапазоны дефисов

            Этот метод использует оператор - для определения диапазона. Для лучшего понимания посмотрите на приведенный ниже пример.

            Я хочу, чтобы Composer использовал только версии после версии 0.1 и до версии 0.19 библиотеки phpro/grumphp. Поэтому я ввожу в composer require phpro/grumphp команду "0.1 - 0.18". Диапазон включает 0.18.1, 0.18.2,... Это похоже на ">=0.10

            Тиддл-диапазон

            В этом методе используется оператор ~. Например, если вы введете «~0.18», Composer будет использовать только версии после 0.18 (кроме 0.18) и до 1.0. Это похоже на «> 0,18

            Диапазон вставки

            В этом методе используется оператор ^, чтобы указать, что Composer разрешено использовать версии библиотеки только из введенной версии (не включая саму себя).

            Например, если я введу ^0.18.1 , Composer будет использовать только версии библиотеки после 0.18.1 (кроме 0.18.1).

            Мастер разработки

            При использовании метода Dev-Master ваши библиотеки всегда будут иметь самые последние доступные версии. Однако это сопряжено с большим риском, поскольку последние версии могут быть не доработаны и в них могут быть ошибки.

            Например, чтобы Composer всегда использовал последнюю версию библиотеки phpro/grumphp, я ввожу команду composer require phpro/grumphp "dev-master".

            Вы можете использовать Composer для установки расширений Meta Box с wordpress.org

            Автозагрузка

            Что такое автозагрузка?

            Автозагрузка – это метод загрузки и использования классов. Используя автозагрузку, мы можем загружать и вызывать классы везде, вместо того, чтобы включать классы в начале каждого файла PHP. Поэтому нам не нужно загружать все классы в библиотеку для всех файлов PHP.

            Как я упоминал выше, Composer делает управление библиотекой удобным и быстрым. Кроме того, Autoload — чрезвычайно полезный инструмент, который помогает Composer легко управлять зависимостями между пакетами библиотек.

            Как работает автозагрузка?

            Чтобы понять, как работает автозагрузка, сначала нужно узнать о стандарте PSR-4. Это рекомендуемый стандарт кодирования PHP для библиотек.

            Ниже приведено содержание стандарта PSR-4:

            Когда разработчики создают класс в соответствии с приведенной выше структурой, на класс может ссылаться строка кода с тремя компонентами: NameSpace , SubNameSpaces и ClassName .

            • NameSpace: имя поставщика и требуемый префикс, названный вами. В частности, оно не должно быть похоже на имя других поставщиков.
            • SubNameSpaces : дочерние пространства имен (после первого пространства имен — поставщик). Из SubNameSpaces путь класса будет соответствовать структуре папки, в которой хранится код. Например, вы сохраняете код библиотеки в исходной папке src и вызываете один из ваших классов cls1 с синтаксисом \myvendor\namespace1\namespace2\cls1. Это означает, что в папке src есть папка namespace1, а в папке namespace1 есть папка namespace2.
            • ClassName : это имя созданного класса. Это необходимо. Кроме того, вам нужно назвать файл PHP как ClassName в папке, которая соответствует последнему пространству имен ( ClassName.php ). Этот файл будет определять код класса.

            Все проекты PHP должны использовать библиотеку автозагрузки для загрузки вышеуказанной структуры при необходимости. Платформы с одинаковым механизмом автозагрузки могут повторно использовать библиотеки друг друга. В настоящее время почти все PHP-фреймворки используют один и тот же механизм автозагрузки в соответствии с PSR-4.

            Composer может генерировать код автозагрузки в соответствии с PSR-4. Таким образом, этот инструмент может помочь вам повторно использовать библиотеки других проектов PHP.

            Например, я хочу создать класс Car с пространством имен Vehicle/Listings . Таким образом, код класса будет сохранен в файле src/Listings/Car.php следующего содержания:

            Приведенный выше код совместим с PSR-4, поэтому Composer поможет вам интегрировать его в файл vendor/autoload.php. Чтобы вызвать этот класс при необходимости, сообщите Composer, что у вас есть модуль автозагрузки PSR-4, добавив следующий код в файл composer.json:

            Для этого кода требуется, чтобы пространство имен уровня 1 — Vehicle указывало на папку src/. Пространства имен уровня 2 и выше будут работать одинаково. Например, путь класса Car — src/Listings/Car.php. Чтобы было ясно, src — это файл, на который указывает пространство имен 1, Listings — это файл в src , Car.php — это PHP-файл, содержащий код класса.

            После этого введите в терминал следующую команду:

            Теперь в vendor/autoload.php есть механизм автоматической загрузки вашего кода, когда вам нужно его использовать. Отныне, если вы хотите использовать класс Car, просто вызывайте его одним из двух кодов ниже:

            Второй код:

            Два приведенных выше кода имеют одинаковую функцию. У них просто разные способы вызова, поэтому вы можете использовать любой, какой захотите.

            В автозагрузке есть два разных способа вызова

            Последние слова

            Composer и Autoload — два мощных и незаменимых инструмента в PHP. Поэтому вы должны использовать их, чтобы сэкономить время и усилия на управлении библиотеками в вашем проекте. Надеюсь, эта статья помогла вам лучше понять эти два инструмента и научиться их использовать на базовом уровне. Если у вас есть какие-либо вопросы о Composer и Autoload, поделитесь ими с нами в разделе комментариев!

            Кроме того, вам могут понравиться наши статьи о том, как использовать шаблон пула объектов и методы PHP для написания чистого и читаемого кода в нашей категории "Руководство".

            Я уверен, что это нужно не только мне.

            Моя цель состояла в том, чтобы позволить __autoload() легко расширяться в сложных системах/фреймворках, где определенные библиотеки и т. д. могут нуждаться в загрузке по-разному, но вы не хотите жестко программировать небольшие корректировки в вашей рабочей __autoload(), чтобы это позволяло случиться.

            Используя объект ServiceLocator с некоторыми статическими методами и свойствами, позволяющими прикреплять к нему слабосвязанные локаторы, вы можете поменять местами/изменить и добавить функциональность вашего __autoload() во время выполнения.

            /**
            * Определяет методы, которые должны реализовывать любые фактические локаторы
            * @package ServiceLocator
            * @author Chris Corbyn
            */
            локатор интерфейса
            /> /**
            * Сообщить, можно ли найти данный класс
            * @param string class
            * @return bool
            */
            public function может найти ( $ класс );
            /**
            * Получить путь к классу
            * @param string class
            * @return string
            */
            public function getPath ( $ класс );
            >

            /**
            * Основной локатор сервисов.
            * Использует слабосвязанные локаторы для работы
            * @package ServiceLocator
            * @author Chris Corbyn
            */
            class ServiceLocator
            /** < br />* Содержит все подключенные локаторы сервисов
            * @var array Locator
            */
            protected static $locators = array();

            /**
            * Прикрепить локатор нового типа
            * @param object Locator
            * @param string key
            */
            public static function attachLocator ( Локатор $locator, $key)
            self :: $locators [$key] = $locator;
            >
            /**
            * Удалить добавленный локатор
            * @param string key
            * @return bool
            */
            общедоступная статическая функция dropLocator ( $key )
            if ( self :: isActiveLocator ( $ key ))
            unset ( self :: $ locators [ $ key ]);
            вернуть истину;
            >
            иначе вернуть false ;
            >
            /**
            * Проверить, загружен ли в данный момент локатор
            * @param string key
            * @return bool
            */
            общедоступная статическая функция isActiveLocator ($key)
            return array_key_exists ($key, self :: $locators);
            >
            /**
            * Загрузить требуемый сервис, запросив все локаторы сервисов
            * @param string class
            */
            public function load ( $class )
            foreach ( self :: $locators as $key => $obj )
            if ( $obj -> canLocate ( $class ))
            require_once $obj -> getPath ( $ сорт );
            если ( class_exists ( $class )) return;
            >
            >
            >
            >

            /**
            * PHP по умолчанию __autload
            * Захватывает экземпляр ServiceLocator и затем запускает его
            * @package ServiceLocator
            * @author Chris Corbyn
            * @ param string class
            */
            функция __autoload ( $class )
            $locator = new ServiceLocator ();
            $locator -> загрузить ( $class );
            >

            //Определяем какой-либо локатор сервисов для присоединения.
            класс PearLocator реализует локатор
            protected $base = '.' ;

            публичная функция __construct ( $directory = '.' )
            $this -> base = (string) $directory ;
            >

            публичная функция canLocate ( $class )
            $path = $this -> getPath ( $class );
            if (file_exists ($path)) return true;
            иначе вернуть ложь;
            >

            публичная функция getPath ( $class )
            возвращает $this -> base . '/' . str_replace('_', '/', $класс). '.php';
            >
            >

            // . прикрепите его.
            ServiceLocator :: attachLocator (новый PearLocator(), 'PEAR' );

            PHP Composer — это приложение, которое отслеживает зависимости для проекта. Он не заменяет системные менеджеры пакетов, такие как apt или yum.

            Composer позволяет указать набор библиотек для конкретного проекта, затем определяет версии и зависимости и устанавливает их.

            В этом руководстве показано, как установить и начать работу с PHP Composer в Ubuntu 18.04.

            руководство по установке и использованию php composer в Ubuntu

            • Система Ubuntu 18.04 Linux
            • Учетная запись пользователя с правами sudo
            • Доступ к командной строке/окну терминала (Ctrl+Alt+T)

            Шаги по установке PHP Composer в Ubuntu

            Шаг 1. Обновите локальный репозиторий

            Начните с обновления списков локальных репозиториев, введя в командной строке следующее:

            Шаг 2. Загрузите установщик Composer

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

            Шаг 3. Проверьте целостность загрузки

            <р>1. Посетите страницу открытых ключей Composer. Скопируйте подпись установщика (SHA-384).

            <р>2. Установите переменную оболочки кода:

            <р>3. Запустите приведенный ниже скрипт, чтобы сравнить официальный хеш с тем, который вы скачали:

            Сценарий сообщит либо о том, что загрузка подтверждена, либо о том, что она повреждена. Если он поврежден, повторно загрузите файл.

            Шаг 4. Установите PHP Composer

            <р>1. Для установки PHP Composer требуются curl, unzip и несколько других утилит. Установите их, введя следующее:

             установить вспомогательное программное обеспечение для композитора

            Установите Composer как команду, доступную из всей системы.

            <р>2. Для установки в /usr/local/bin. введите:

            Установщик должен вывести:

            <р>3. После завершения установки проверьте правильность установки:

            Система должна вывести номер установленной версии, например:

            <р>4. Чтобы удалить программу установки:

            Основное использование Composer

            Composer предназначен для отслеживания зависимостей для каждого проекта. Это облегчает другим пользователям создание такой же среды. Composer использует файл composer.json для отслеживания необходимого программного обеспечения и разрешенных версий.

            Он также использует файл composer.lock для обеспечения согласованности, если кто-то скопирует каталог. Эти файлы создаются автоматически с помощью команды require.

            <р>1. Откройте терминал и введите следующее:

            <р>3. В окне терминала введите:

            Система загрузит программное обеспечение и создаст файлы composer.json и composer.lock.

            Примечание. Monolog — это пакет для управления файлами журналов. Имя перед косой чертой — это поставщик, а имя после косой черты — имя пакета.

            <р>4. После завершения процесса перечислите содержимое каталога:

            Вы должны увидеть файлы composer.json и composer.lock вместе с каталогом поставщика.

            <р>5. Чтобы просмотреть содержимое файла composer.json:

            Система покажет вам, что она добавила программное обеспечение monolog. Знак ^ рядом с номером версии указывает на минимальную версию программного обеспечения.

            Настройка автозагрузки

            PHP не загружает классы автоматически. Однако вы можете настроить Composer на автоматическую загрузку классов. Это значительно упрощает работу с зависимостями.

            <р>1. Создайте новый файл в своем любимом текстовом редакторе:

            <р>2. Введите в файл следующее:

            пример автозагрузки классов

            <р>3. Запишите файл ( Ctrl+O ) и выйдите ( Ctrl+X ).

            <р>4. Теперь вы можете запустить команду для автозагрузки монолога:

            Обновление зависимостей

            Чтобы обновить все зависимости в файле composer.json, введите команду:

            Это обновит все зависимости в соответствии с версией, указанной в файле.

            Чтобы обновить одну (или несколько) зависимостей по отдельности:

            Теперь вы хорошо понимаете, как установить и начать использовать PHP Composer. Мы также рассмотрели настройку автозагрузки и обновление зависимостей.

            Читайте также: