<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://1984.lsi.us.es/wiki-egc/index.php?action=history&amp;feed=atom&amp;title=Introducci%C3%B3n_a_Composer</id>
		<title>Introducción a Composer - Historial de revisiones</title>
		<link rel="self" type="application/atom+xml" href="https://1984.lsi.us.es/wiki-egc/index.php?action=history&amp;feed=atom&amp;title=Introducci%C3%B3n_a_Composer"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Introducci%C3%B3n_a_Composer&amp;action=history"/>
		<updated>2026-05-14T01:17:35Z</updated>
		<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Introducci%C3%B3n_a_Composer&amp;diff=6850&amp;oldid=prev</id>
		<title>Resinas en 18:00 7 dic 2017</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Introducci%C3%B3n_a_Composer&amp;diff=6850&amp;oldid=prev"/>
				<updated>2017-12-07T18:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='es'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión del 18:00 7 dic 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l82&quot; &gt;Línea 82:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 82:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FROM php:7.0-cli&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FROM php:7.0-cli&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN apt-get update &amp;amp;&amp;amp; apt-get install -y git zip --no-install-recommends &amp;amp;&amp;amp; rm -r /var/lib/apt/lists/*&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN apt-get update &amp;amp;&amp;amp; apt-get install -y git &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;unzip &lt;/ins&gt;zip --no-install-recommends &amp;amp;&amp;amp; rm -r /var/lib/apt/lists/*&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN mkdir -p /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN mkdir -p /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; cd /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; cd /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Resinas</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Introducci%C3%B3n_a_Composer&amp;diff=6757&amp;oldid=prev</id>
		<title>Resinas en 11:48 4 dic 2017</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Introducci%C3%B3n_a_Composer&amp;diff=6757&amp;oldid=prev"/>
				<updated>2017-12-04T11:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='es'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revisión del 11:48 4 dic 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l82&quot; &gt;Línea 82:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 82:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FROM php:7.0-cli&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FROM php:7.0-cli&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN apt-get update &amp;amp;&amp;amp; apt-get install -y git zip &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;unzip &lt;/del&gt;--no-install-recommends &amp;amp;&amp;amp; rm -r /var/lib/apt/lists/*&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN apt-get update &amp;amp;&amp;amp; apt-get install -y git zip --no-install-recommends &amp;amp;&amp;amp; rm -r /var/lib/apt/lists/*&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN mkdir -p /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RUN mkdir -p /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; cd /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; cd /usr/src; \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php -r &amp;quot;copy('https://getcomposer.org/installer', 'composer-setup.php');&amp;quot;; \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php -r &amp;quot;copy('https://getcomposer.org/installer', 'composer-setup.php');&amp;quot;; \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php -r &amp;quot;if (hash_file('SHA384', 'composer-setup.php') === '&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;544e09ee996cdf60ece3804abc52599c22b1f40f4323403c$&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php -r &amp;quot;if (hash_file('SHA384', 'composer-setup.php') === '&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;&amp;quot;; \&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php composer-setup.php; \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php composer-setup.php; \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php -r &amp;quot;unlink('composer-setup.php');&amp;quot;; \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; php -r &amp;quot;unlink('composer-setup.php');&amp;quot;; \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Resinas</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Introducci%C3%B3n_a_Composer&amp;diff=6751&amp;oldid=prev</id>
		<title>Resinas: Página creada con «En PHP no existen herramientas tan asentadas y frecuentemente usadas para la gestión de la construcción de proyectos como en Java. No obstante, recientemente si que han a...»</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Introducci%C3%B3n_a_Composer&amp;diff=6751&amp;oldid=prev"/>
				<updated>2017-12-03T23:52:58Z</updated>
		
		<summary type="html">&lt;p&gt;Página creada con «En PHP no existen herramientas tan asentadas y frecuentemente usadas para la gestión de la construcción de proyectos como en Java. No obstante, recientemente si que han a...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;En PHP no existen herramientas tan asentadas y frecuentemente usadas para la gestión de la construcción de proyectos como en Java. No obstante, recientemente si que han aparecido varias de entre las que cabe destacar a [https://getcomposer.org Composer] por su uso extendido. A diferencia de Maven, Composer se encarga exclusivamente de la gestión de dependencias por lo que no ofrece funcionalidades para la ejecución de las distintas tareas del proceso de construcción del proyecto.&lt;br /&gt;
&lt;br /&gt;
La gestión de dependencias que realiza Composer es muy similar a la de Maven y, sobre todo, a la de [http://npmjs.com/ NPM], que es un sistema de gestión de dependencias en Javascript.&lt;br /&gt;
&lt;br /&gt;
= Instalar Composer =&lt;br /&gt;
&lt;br /&gt;
La instalación de Composer requiere tener instalado PHP y poder acceder a él desde línea de comandos. Si no lo tienes instalado, una opción es utilizar la imagen de PHP de Docker de la siguiente forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
% docker run -it -v &amp;quot;$PWD&amp;quot;:/usr/src/myapp -w /usr/src/myapp php:7.0-cli /bin/bash&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eso crea un contenedor con PHP 7.0 e inicia una sesión en terminal. Además, mapea el directorio actual al directorio /usr/src/myapp del contenedor. Por último, antes de usar Composer tenemos que instalar git y zip/unzip pues Composer los utiliza para descargarse las dependencias. Eso se puede hacer de la siguiente forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@e20f7160c57c:/usr/src/example# apt-get update&lt;br /&gt;
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]&lt;br /&gt;
Ign http://deb.debian.org jessie InRelease                                  &lt;br /&gt;
Get:2 http://deb.debian.org jessie-updates InRelease [145 kB]&lt;br /&gt;
Get:3 http://security.debian.org jessie/updates/main amd64 Packages [588 kB] &lt;br /&gt;
Get:4 http://deb.debian.org jessie Release.gpg [2373 B]                                 &lt;br /&gt;
Get:5 http://deb.debian.org jessie Release [148 kB]                                            &lt;br /&gt;
Get:6 http://deb.debian.org jessie-updates/main amd64 Packages [23.2 kB]                 &lt;br /&gt;
Get:7 http://deb.debian.org jessie/main amd64 Packages [9063 kB]&lt;br /&gt;
Fetched 10.0 MB in 5s (1865 kB/s)   &lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
&lt;br /&gt;
root@e20f7160c57c:/usr/src/example# apt-get install git&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree       &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
The following extra packages will be installed:&lt;br /&gt;
  git-man less libcurl3-gnutls liberror-perl libexpat1 libpopt0 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6&lt;br /&gt;
  libxext6 libxmuu1 openssh-client rsync xauth&lt;br /&gt;
Suggested packages:&lt;br /&gt;
  gettext-base git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs&lt;br /&gt;
  git-mediawiki git-svn ssh-askpass libpam-ssh keychain monkeysphere openssh-server&lt;br /&gt;
Recommended packages:&lt;br /&gt;
  ssh-client&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
  git git-man less libcurl3-gnutls liberror-perl libexpat1 libpopt0 libx11-6 libx11-data libxau6 libxcb1&lt;br /&gt;
  libxdmcp6 libxext6 libxmuu1 openssh-client rsync xauth&lt;br /&gt;
0 upgraded, 17 newly installed, 0 to remove and 1 not upgraded.&lt;br /&gt;
Need to get 7629 kB of archives.&lt;br /&gt;
After this operation, 33.5 MB of additional disk space will be used.&lt;br /&gt;
Do you want to continue? [Y/n] Y&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
root@e20f7160c57c:/usr/src/example# apt-get install zip&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree       &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
The following extra packages will be installed:&lt;br /&gt;
  unzip&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
  unzip zip&lt;br /&gt;
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.&lt;br /&gt;
Need to get 390 kB of archives.&lt;br /&gt;
After this operation, 1002 kB of additional disk space will be used.&lt;br /&gt;
Do you want to continue? [Y/n] Y&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez tenemos nuestro contenedor listo, ya podemos instalar Composer siguiendo las [https://getcomposer.org/doc/00-intro.md instrucciones de su web]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@e20f7160c57c:/usr/src# php -r &amp;quot;copy('https://getcomposer.org/installer', 'composer-setup.php');&amp;quot;&lt;br /&gt;
root@e20f7160c57c:/usr/src# php -r &amp;quot;if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;&amp;quot;&lt;br /&gt;
Installer verified&lt;br /&gt;
root@e20f7160c57c:/usr/src# php composer-setup.php&lt;br /&gt;
All settings correct for using Composer&lt;br /&gt;
Downloading...&lt;br /&gt;
&lt;br /&gt;
Composer (version 1.5.5) successfully installed to: /usr/src/composer.phar&lt;br /&gt;
Use it: php composer.phar&lt;br /&gt;
&lt;br /&gt;
root@e20f7160c57c:/usr/src# php -r &amp;quot;unlink('composer-setup.php');&amp;quot;&lt;br /&gt;
root@e20f7160c57c:/usr/src# mv composer.phar /usr/local/bin/composer&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma alternativa, se puede crear un Dockerfile con estos comandos:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
FROM php:7.0-cli&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; apt-get install -y git zip unzip --no-install-recommends &amp;amp;&amp;amp; rm -r /var/lib/apt/lists/*&lt;br /&gt;
RUN mkdir -p /usr/src; \&lt;br /&gt;
      cd /usr/src; \&lt;br /&gt;
      php -r &amp;quot;copy('https://getcomposer.org/installer', 'composer-setup.php');&amp;quot;; \&lt;br /&gt;
      php -r &amp;quot;if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c$&lt;br /&gt;
      php composer-setup.php; \&lt;br /&gt;
      php -r &amp;quot;unlink('composer-setup.php');&amp;quot;; \&lt;br /&gt;
      mv /usr/src/composer.phar /usr/local/bin/composer; \&lt;br /&gt;
      cd /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crear una nueva imagen a partir de ese Dockerfile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
% docker build -t php:7.0-composer .&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y crear un contenedor con la nueva imagen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
% docker run -it -v &amp;quot;$PWD&amp;quot;:/usr/src/myapp -w /usr/src/myapp php:7.0-composer /bin/bash&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uso básico de Composer =&lt;br /&gt;
&lt;br /&gt;
Para ilustrar el funcionamiento de Composer vamos a añadir un par de dependencias a un proyecto en PHP. El equivalente en Composer al pom.xml de Maven es el fichero composer.json. Lo que ocurre es que, a diferencia de lo que ocurre en Maven, el fichero se puede editar directamente o podemos dejar que Composer lo vaya modificando de forma automática a partir de los comandos que vamos ejecutando en línea de comandos. &lt;br /&gt;
&lt;br /&gt;
El fichero composer.json describe las dependencias del proyecto y puede tener también otros datos adicionales como el nombre o versión del proyecto. El elemento básico que se especifica en un composer.json es el elemento require. Simplemente sirve para decir los paquetes de los que depende el proyecto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;require&amp;quot;: {&lt;br /&gt;
        &amp;quot;monolog/monolog&amp;quot;: &amp;quot;1.0.*&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este composer.json se está indicando que el proyecto depende de un paquete llamado monolog del desarrollador monolog y fija la versión a la 1.0.* (es decir, cualquiera que tenga 1.0). &lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos un composer.json creado en nuestro proyecto, podemos descargarnos todas sus dependencias mediante:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
% composer install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El proceso es similar al de Maven y, al igual que Maven, existe un repositorio central donde se buscan por defecto los paquetes. Este repositorio se llama [https://packagist.org/ Packagist]. Puedes encontrar más información sobre él en la [https://getcomposer.org/doc/01-basic-usage.md#packagist documentación de Composer]. &lt;br /&gt;
&lt;br /&gt;
Si se quiere actualizar las dependencias a las últimas versiones se puede hacer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
% composer update&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Scopes en las dependencias =&lt;br /&gt;
&lt;br /&gt;
Al igual que ocurre en Maven, es posible indicar varios ''scopes'' para las dependencias de un proyecto, aunque en Composer sólo hay dos scopes: normal, que significa que la dependencia se usa tanto en desarrollo como en ejecución y ''development'', que significa que la dependencia se usa durante el desarrollo, por ejemplo, para ejecutar pruebas unitarias. La forma de indicarlo es que el elemento donde se indican las dependencias de desarrollo se llama &amp;lt;code&amp;gt;require-dev&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;require-dev&amp;quot;: {&lt;br /&gt;
        &amp;quot;phpunit/phpunit&amp;quot;: &amp;quot;^6.5&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Composer por línea de comandos =&lt;br /&gt;
&lt;br /&gt;
El composer.json lo podemos editar nosotros directamente, igual que se hace en maven con el pom.xml, o podemos añadir o eliminar dependencias haciendo uso de la interfaz de línea de comandos de Composer. Para añadir dependencias se hace por medio de:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
% composer require monolog/monolog&lt;br /&gt;
% composer require --dev phpunit/phpunit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Las dependencias se pueden eliminar utilizando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
% composer remove phpunit/phpunit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ejercicio =&lt;br /&gt;
&lt;br /&gt;
# Instala Composer&lt;br /&gt;
# Crea un fichero composer.json con las siguientes dependencias:&lt;br /&gt;
#* Última versión del paquete psr/log&lt;br /&gt;
#* Versión igual o superior a la 1.2.0 del driver de mongodb &lt;br /&gt;
#* Versión superior a la 1.1.0 del SDK de Dropbox para PHP&lt;br /&gt;
#* Versión igual o superior a la 6 del framework de pruebas unitarias phpunit para desarrollo&lt;br /&gt;
# Descarga las dependencias en tu ordenador.&lt;br /&gt;
&lt;br /&gt;
= ¿Vas rápido? =&lt;br /&gt;
Echa un vistazo a https://getcomposer.org/doc/02-libraries.md y sigue el tutorial para hacer público un proyecto de hola mundo en PHP.&lt;/div&gt;</summary>
		<author><name>Resinas</name></author>	</entry>

	</feed>