Хранение сторонних библиотек в управлении исходным кодом

Из вопроса мы не можем видеть структуру входного массива. Это может быть array ('id' => 10499478683521864, 'date' => '07/22/1983'). Поэтому, когда вы запрашиваете $ demo [0], вы используете индекс undefind.

Array_values ​​потеряли ключи и возвратили массив с многочисленными ключами, делающими массив как array(10499478683521864, '07/22/1983'...). Этот результат мы видим в вопросе.

Итак, вы можете взять значения элемента массива таким же образом

echo array_values($get_user)[0]; // 10499478683521864 
81
задан Community 10 September 2008 в 18:13
поделиться

16 ответов

А также имея сторонние библиотеки в Вашем репозитории, стоит сделать его таким способом, который облегчает отслеживать и объединяться в будущих обновлениях библиотеки легко (например, исправления безопасности и т.д.). При использовании Подрывной деятельности с помощью надлежащего , ответвление поставщика стоит.

, Если бы Вы знаете, что это был бы холодный день в аду перед изменением кода третьего лица тогда (как @Matt Sheppard сказал) внешнее имеет смысл и приносит Вам дополнительную пользу, которую становится очень легко переключить до последней версии библиотеки, должен, обновления системы защиты или необходимая новая возможность делают это желательным.

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

единица короткая тонны Thompson упоминает, что хранил документацию и т.д. в управлении исходным кодом. В больших проектах я сохранил нашу всю "клиентскую" папку в управлении исходным кодом включая счета / счета / протокол заседания / технические спецификации и т.д. целое соответствие стрельбы. Хотя, гм, действительно не забывают хранить их в ОТДЕЛЬНОМ репозитории от того, Вы будете делать доступным для: другие разработчики; клиент; Ваше "исходное представление браузера"... кашляет...:)

27
ответ дан reefnet_alex 5 November 2019 в 17:22
поделиться

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

0
ответ дан Eran Kampf 5 November 2019 в 17:22
поделиться

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

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

0
ответ дан quick_dry 5 November 2019 в 17:22
поделиться

Лично я имею папку зависимостей как часть моих проектов и храню ссылочные библиотеки там.

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

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

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

1
ответ дан RSlaughter 5 November 2019 в 17:22
поделиться

Сохраните библиотеки! Репозиторий должен быть снимком того, что требуется, чтобы разрабатывать проект в любой момент вовремя. Поскольку проект требует различной версии внешних библиотек, которые Вы захотите обновить / регистрируются в более новых версиях этих библиотек. Тем путем Вы будете в состоянии заставить всю правильную версию идти со старым снимком, если необходимо исправить более старый выпуск и т.д.

1
ответ дан minty 5 November 2019 в 17:22
поделиться

Сохраните сторонние библиотеки в управлении исходным кодом, таким образом, они доступны, если Вы проверяете свой код к среде новой разработки. Любой "включает", или сборка управляет, чтобы Вы могли иметь в сценариях сборки, должен также сослаться на эти "локальные" копии.

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

1
ответ дан Matt 5 November 2019 в 17:22
поделиться

Я поместил все кроме JDK и IDE в управлении исходным кодом.

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

4
ответ дан Stu Thompson 5 November 2019 в 17:22
поделиться

В предыдущем работодателе мы сохранили все необходимое для создавания приложения в управлении исходным кодом. Вращение новой машины сборки было вопросом синхронизации с управлением исходным кодом и установкой необходимого программного обеспечения.

2
ответ дан 5 November 2019 в 17:22
поделиться

Мое предпочтение должно сохранить сторонние библиотеки в репозитории зависимости ( Artifactory с Знаток , например) вместо того, чтобы сохранить их в Подрывной деятельности.

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

4
ответ дан blahspam 5 November 2019 в 17:22
поделиться

никогда не храните свои сторонние двоичные файлы в управлении исходным кодом. Системы управления исходным кодом являются платформами, которые поддерживают параллельный совместный доступ к файлам, параллельны работе, объединяя усилия и историю изменений. Управление исходным кодом не является FTP-сайтом для двоичных файлов. Сторонние блоки НЕ являются исходным кодом; они изменяются, возможно, дважды на SDLC. Требование быть в состоянии вытереть Вашу чистую рабочую область, раскройте все от управления исходным кодом, и сборка не означает, что сторонние блоки должны застрять в управлении исходным кодом. Можно использовать сценарии сборки для управления получением по запросу сторонних блоков с сервера распределения. Если Вы волнуетесь по поводу управления, какое ответвление/версия Вашего приложения использует конкретный сторонний компонент, то можно управлять этим через сценарии сборки также. Люди упомянули Знатока для Java, и можно сделать что-то похожее с MSBuild для.Net.

13
ответ дан 5 November 2019 в 17:22
поделиться

То, что я имею, является интранет подобный Знатоку репозиторий, где все сторонние библиотеки хранятся (не только библиотеки, но и их соответствующее исходное распределение с документацией, Javadoc и всем). Причина следующая:

  1. , почему хранить файлы, которые не изменяются в систему, специально предназначенную для управления файлами то изменение?
  2. это существенно закрепляет контроль
  3. каждый раз, когда я вижу "something.jar", сохраненный при управлении исходным кодом, которое я спрашиваю "и какая версия - он?"
5
ответ дан Vladimir 5 November 2019 в 17:22
поделиться

Я обычно храню их в репозитории, но я действительно сочувствую Вашему требованию подавить размер.

, Если Вы не храните их в репозитории, абсолютно, должны быть заархивированы и имеющими версию так или иначе, и Ваша система сборки должна знать, как получить их. Много людей в мире Java, кажется, использует Знатока для выбирающих зависимостей автоматически, но я не использовал меня, таким образом, я не могу действительно рекомендовать за или против него.

Один хороший вариант мог бы состоять в том, чтобы сохранить отдельный репозиторий сторонних систем. Если Вы находитесь на Подрывной деятельности, Вы могли бы тогда использовать поддержку внешнего облика подрывной деятельности для автоматической проверки формы библиотек другой репозиторий. Иначе я предложил бы сохранить внутренний Анонимный FTP (или подобный) сервером, от которого Ваша система сборки может автоматически выбрать требования. Очевидно, Вы захотите удостовериться, что Вы сохраняете все старые версии библиотек и создали резервную копию всего там наряду с Вашим репозиторием.

8
ответ дан Matt Sheppard 5 November 2019 в 17:22
поделиться

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

Редактирование на 2017: Этот ответ не старел well:-). Если Вы все еще используете что-то старое как муравей или делаете, вышеупомянутое все еще применяется. При использовании чего-то более современного как знаток или graddle (или Nuget на .net, например), с управлением зависимостью, необходимо выполнять сервер управления зависимости, в дополнение к серверу управления версиями. Пока у Вас есть хорошие резервные копии обоих, и Ваш сервер управления зависимости не удаляет старые зависимости, необходимо быть в порядке. Для примера сервера управления зависимости посмотрите, например Sonatype Nexus или JFrog Artifcatory среди многих других.

47
ответ дан Tony BenBrahim 5 November 2019 в 17:22
поделиться

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

16
ответ дан lomaxx 5 November 2019 в 17:22
поделиться

Не храните библиотеки; они не строго говоря часть Вашего проекта, и uselessy поднимают комнату в Вашей системе управления версиями. Действительно, однако, используйте знаток (или Ivy для сборок муравья) для отслеживания то, какие версии внешних библиотек проект использует. Необходимо выполнить зеркало repo в организации (который сохранен) гарантировать, чтобы у Вас всегда были зависимости под Вашим управлением. Это должно дать Вам лучший из обоих миров; внешние банки вне Вашего проекта, но все еще надежно доступный и централизованно доступный.

21
ответ дан Martin Gladdish 5 November 2019 в 17:22
поделиться

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

1
ответ дан 24 November 2019 в 09:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: