Новый комментарий

artemship 14.09.2019 в 21:59

Спасибо за такой полезный урок! :)

ivashkevich 15.09.2019 в 06:21

Пожалуйста)

OneMoreTime 02.04.2020 в 17:09
  1. Композер для работы проекта после разворачивания нужных библиотек уже не нужен?

  2. В дальнейшем, если мы будем выкладывать проект куда-либо, мы не будем выкладывать папку vendor – ведь достаточно выполнить composer install и она снова появится. Нет смысла гонять туда-сюда большую папку с библиотеками. Можем проверить прямо сейчас – удалите папку vendor и выполните команду:
    composer install

Везде написано про работу с композером на локальном сервере. Работа с композером на удаленном сервере возможна? Или в случае каких то проблем на сервере проще выгрузить туда файл .loc, и библиотеки сами подтянутся в папку проекта vendor? Или перекинуть на сервер папку vendor. Что то еще нужно делать для восстановления работоспособности сторонних библиотек в проекте?

3.

{
    "name": "ivashkevich/myproject",
    "type": "project",
    "license": "proprietary",
    "authors": [
        {
            "name": "Artyom Ivashkevich",
            "email": "[email protected]"
        }
    ],
    "autoload": {
        "psr-4": {
            "MyProject\\": "src/MyProject/"
        }
    },    "require": {
        "erusev/parsedown": "^1.7"
    }
}

Почему в качестве корневой папки указано
"src/MyProject/", а не "myproject.loc/src/MyProject/"? Или в следствие того, что после myproject.loc нет других ответвлений кроме src, поэтому myproject.loc можно опустить?

ivashkevich 02.04.2020 в 18:01
  1. Нужен конечно, их нужно периодически обновлять.
  2. composer.json и composer.lock всегда идут вместе с проектом. Там, где нужно развернуть проект выполняется composer install. Папку vendor копировать не нужно.
  3. Потому что composer.json лежит на одном уровне с src
OneMoreTime 02.04.2020 в 18:26

1.

Нужен конечно

Для чего? Композер же активный только когда скачивает/устанавливает/удаляет какие-то пакеты? Он же не нужен для реализации работы самих библиотек онлайн? И зачем периодически обновлять и как часто?
У меня вот кстати в окне эмулятора терминала при очередном запуске композера появилось сообщение, что композер устарел и хочет обновления. Я выполнил предложенное предложение:

C:\OSPanel\modules\php\PHP_7.3-x64\composer.phar self-update

На что мне win 10 сказал, что он. и все приложения в окружении не понимают формат .phar

2.

Там, где нужно развернуть проект выполняется composer install.

Это же нужно будет сделать только один раз? Как это сделать на хосте? Как там запустить композер?
Vendor я имел в виду выгрузить на хост - вместо того, чтобы использовать композер

ivashkevich 03.04.2020 в 14:31
  1. Добавь в начало команды php
  2. Не, ну можно и выгрузить vendor, если так уж хочется. Но когда процесс выкладки автоматизирован, композер скачивает все зависимости при сборке пакета. Почитай дополнительно про CI/CD.
OneMoreTime 03.04.2020 в 22:08

Наверное я не очень ясно изложил вопрос, или читал - да недочитал... Я про использование композера вообще. Ты пишешь про рабочий процесс разработки, а я изначально спрашивал про уже готовый проект, который будет выгружен на хост и никто уже дорабаывать теоретически не должен(на текущий момент). Проект уже будет использоваться как готовый продукт. Поэтому и вопрос - зачем там композер(кроме как один раз подтянуть нужные данные или вместо этого один раз выгрузить папку vendor) и тем более что-то обновлять постоянно через него, если никакие доработки не нужны. Т.е. этот момент - наверное с точки зрения заказчика проекта или того, кто будет поддерживать/обслуживать готовый проект на хосте.

Я собственно от незнания лишь в общих чертах понимаю пока как это происходит. Если это разработка проекта в процессе еще и несколькими разработчиками или командой, каждый в отдельности делает это у себя на локальной машине и может через install развернуть у себя на локальной машине нужные библиотеки, чтобы не тащить весь проект к себе на машину. В процессе разработки что-то добавляется/изменяется - на разных локальных машинах можно через композер управлять нужными библиотеками(добавлять/обновлять/удалять и т.п.). Этот момент - с точки зрения группы разрабочиков. Тут еще нюанс с гитом... В уроке есть упоминание, но далеко не все не то что не работали с этим, но даже понятия не имеют что это и для чего. Было бы неплохо хотя бы статейку на эту тему, хотя бы в общех чертах...

ivashkevich 04.04.2020 в 10:50

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

Dmitry.Dudin 29.04.2020 в 13:16

У тебя в строке:
Author [, n to skip]: - автор проекта. В формате John Smith [email protected]
Не экранировались символы <>, вот так:
Author [, n to skip]: - автор проекта. В формате John Smith <[email protected]>

ivashkevich 30.04.2020 в 11:05

Спасибо, исправил

OneMoreTime 24.08.2020 в 11:52

Если нужно с гитхаба взять на локальную разработку проект например на ларавеле, какой порядок действий?
Клонируем проект в нужную папку. Устанавливаем инсталлятор ларавеля(есле его нет), а потом делаем composer install?

ivashkevich 27.08.2020 в 08:33

Всё зависит от автора проекта) В самом простейшем случае достаточно будет сделать composer install и прописать настройки для подключения к базам

Dram 02.07.2022 в 17:40

Уже пол дня не могу понять - не работает автозагрузчик компосера!
composer dump-autoload
composer install делал

получаю Fatal error: Uncaught Error: Class 'MyProject\Controllers\MainController' not found in D:\OpenServer\domains\MyProject\www\index.php:28

Родной автозагрузчик работает.

![описание картинки](https://php.zone/uploads/img/20220702353b2eca90afaac745d8bea2ccbecd5bfb30e64cdd57e7c284bf653161a26698.JPG)

Dram 02.07.2022 в 20:44

В общем решение моей проблемы было убрать слеш перед src в "MyProject\": "src/MyProject/"

ivashkevich 24.07.2022 в 19:14

Супер)

Логические задачи с собеседований