Сергей Протько: Так можно совмещать, подпись делается очень просто, накладные расходы на ее использование ничтожно малы, не вижу причин ее не добавлять.
Andrey San: Думаю что он очень уж староват. если у вас бюджет $100 боюсь вы хорошего железа не купите. Может поискать у геймера какого нибудь который продает свое железо потому что оно не топ и цену не ломит.
Andrey San: Ну так вы на нем зарабатывать хотите или просто так поставить? Если просто так то согласен, можно и попроще, но все равно должны понимать, сэкономите, он быстро устареет. А если для работы, я бы напрягся и купил мак, так давно сам сомневался, но потом решился и взял айр на 13 дюймов, и у него один недостаток, размер монитора, но я его и брал как походный, легкий, компактный. ПО началу смотрел на характеристики и думал слабоват, но на нем работать комфортнее чем на моем десктопе, хотя по цифрам декстоп в два раза мощнее.
lynnikvadim: Я пытаюсь помочь вам освоить фреймворк, но вы видимо не заинтересованы в этом, и решили что проще заставить сообщество написать проект за вас, разбив его на серию вопросов, чем потратить пару часов на чтение документации.
lynnikvadim: Вы мой вопрос прочитали? Разве я спросил смогли ли вы реализовать? Я просил читали ли вы документацию, ниже вам даже привели ссылку на конкретный параграф. Если вы читали то что именно не поняли, я поясню. Если не читали возникает вопрос почему, я пролистал историю ваших вопросов, на половину ответы расположены на одной странице официальной документации и снабжены очень простыми примерами.
dk-web: Вам можно установить и не чистый ларавел. Смотрите как работает композер. Он смотрит что у него в require, подгружает эти пакеты, смотрит в их require и подгружает их пакеты и т.д. И все это грузиться в корневую папку vendors, то есть прописывать зависимости в composer.json вы просто говорите что при установке вашего пакета так же нужно скачать и "эти" пакеты. Но пока вы разрабатываете свой пакет, вы не его не устанавливаете и все зависимости прописываете к корневой composer.json это нормальная практика, на данном этапе вы сфокусируетесь над функционалом, а не зависимостям. А вот когда пакет будет готов уже тогда и займитесь зависимостями.
Но если уж вы так хотите прописывать зависимости именно в ваш пакет даже на этапе разработки, то вы можете сделать следующее. Из корневого composer.json удалите все упоминания вашего пакета (т.е. вот это ""Dkweb\\Mypackage\\": "packages/Dkweb/Mypackage/src"") откройте файл /@yourprodject@/bootstrap/autoload.php и в нем прописываете autoload.php вашего пакета, например как сделано у меня в одном дев приложении
require __DIR__.'/../vendor/autoload.php'; - это autoload корневого копозера, он здесь по умолчанию
require __DIR__.'/../dmodules/core/vendor/autoload.php'; - это autoload разрабатываемого мной пакет
dk-web: да вы верно уловили. То что я вам предложил это вариант для разработки пока ваш пакет это куча классов, композер не будет работать с его зависимостями. Вы сейчас подлючите все в сам ларавел, закончите разработку пакета, пропишите все эти зависимости в Composer.json пакета, зальете его на гитхаб или пакажист, подключите в ларавеле уже не так ""Dkweb\\Mypackage\\": "packages/Dkweb/Mypackage/src"", а так "require": {
...
"dkweb/mypackage": "*",
...
},
и тогда уже он скачает ваш пакет, посмотрит его зависимости и подгрузит их
Все ясно, сразу не заметил.
"psr-4": {
"App\\": "app/",
"Dkweb\\Mypackage\\": "packages/Dkweb/Mypackage/src"
}
Вы свой пакет не как пакет подключили, а просто классы в автолоад кинули. он в секции require должен быть. Но так как у вас пакета то как такового и нет пока (У вас просто папка с классами). То можете Guzzle подключить в composer.json ларавела
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*",
"barryvdh/laravel-debugbar": "^2.0",
"guzzlehttp/guzzle": "~6.0"
},
dk-web: Все верно, разве что кроме того что "packages/Dkweb/mypackage/src" это psr-0, а у вас вроде как psr-4. Но ваш пакет laravel видит? все нормально?
dk-web: Давайте немного уточним. Вы делаете именно пакет? Который имеет свой файл composer, который в проект (сайт, ларавел) подключен через composer или вы просто где то папку создали, кинули в нее сервис провайдер и подключили?