{"id":1924,"date":"2014-08-20T01:05:53","date_gmt":"2014-08-20T06:05:53","guid":{"rendered":"http:\/\/daxes.net\/blog\/2014\/08\/composer\/"},"modified":"2014-08-20T01:05:53","modified_gmt":"2014-08-20T06:05:53","slug":"composer","status":"publish","type":"post","link":"https:\/\/daxes.net\/blog\/2014\/08\/composer\/","title":{"rendered":"Composer"},"content":{"rendered":"<p style=\"text-align: justify;\">\n\tAntes de entrar en el mundo de Laravel, es necesario conocer (al menos lo b&aacute;sico de) algo llamado <strong>composer<\/strong>.\n<\/p>\n<p style=\"text-align: justify;\">\n\tYo o&iacute; de ello un poco antes de conocer laravel, porque muchas librer&iacute;as que quer&iacute;a utilizar se instalaban de esa forma, y ve&iacute;a en muchos lados la carpeta \/vendor\/ y pues, en aquel tiempo no entend&iacute;a como era que esto funcionaba, al inicio cre&iacute; que era algo solo para linux, por lo que descart&eacute; su uso, y siempre buscaba librer&iacute;as desplegadas como siempre se ha hecho (un \/src\/ tal vez) o librer&iacute;as ya instaladas (si requer&iacute;an composer).&nbsp;\n<\/p>\n<p style=\"text-align: justify;\">\n\tPero resulta que el concepto de composer, es muy &uacute;til; de hecho ahora me fsacina su existencia, y no es un concepto nuevo. La gesti&oacute;n de paquetes, est&aacute; presente tambi&eacute;n en node.js, angular, java, etc. Pero composer es el gestor de paquetes para php.\n<\/p>\n<p style=\"text-align: justify;\">\n\tSi quisiera resumir en pocas palabras lo que significa composer, dir&iacute;a que&#8230;\n<\/p>\n<hr \/>\n<p style=\"text-align: justify; margin-left: 40px;\">\n\t<em><strong>composer <\/strong>es una herramienta que te instala (y gestiona) las librer&iacute;as que requiere un proyecto (las cuales se especifican en un archivo composer.json) y si estas librer&iacute;as a su vez requieren otras, el propio composer verifica si ya est&aacute;n instaladas, y en caso contrario tambi&eacute;n las instala. Y declara los namespaces (referencias) de&nbsp;cada Clase.<\/em>\n<\/p>\n<hr \/>\n<p>\n\t<!--more-->\n<\/p>\n<p style=\"text-align: justify;\">\n\tBueno, hay que especificar que composer es un gestor para php, por lo cual necesitamos tener php instalado para poder usarlo, no necesariamente tener un servidor web local (yo uso el easyphp en windows) corriendo. Cuando instalamos el composer (en windows) reconoce la ruta donde tenemos el php, e incluso se agrega al PATH, para poder invocarlo desde la consola de windows.\n<\/p>\n<p style=\"text-align: justify;\">\n\tPara resumir, y poder entender la utilidad del composer&#8230; Imaginemos que tenemos un proyecto web (por ejemplo en laravel) que queremos enviarle a alguien por correo (o en una memoria externa) veremos que mayormente, el mayor espacio lo ocupan las librer&iacute;as (en laravel algo de 15Mb) y el c&oacute;digo real (que es en si la aplicaci&oacute;n) puede no pasar de 1Mb. Entonces con el composer, lo que puedes hacer es pasar solo el c&oacute;digo real, y un composer.json donde especifica las librer&iacute;as a usar. Luego la persona que recibe el proyecto ejecuta el comanto composer install, y aqu&iacute; el composer instala todas las librer&iacute;as necesarias. Claro que las siguientes veces bastar&aacute; con pasar el c&oacute;digo real solamente.\n<\/p>\n<p style=\"text-align: justify;\">\n\t&iquest;Facilita muchas cosas? Por supuesto, permite enviar proyectos por correo, o cargarlos rapidamente en una memoria externa, y si usamos algun repositorio (como github) podemos tener sincronizado solamente el c&oacute;digo real, mas no las librer&iacute;as (que tampoco es necesario).\n<\/p>\n<p style=\"text-align: justify;\">\n\tEsta es una vista r&aacute;pida a lo que es composer, en la siguiente entrada hablar&eacute; sobre como instalarlo en windows, y las formas en las que se puede invocar&#8230; (no hay solo una&#8230;&nbsp;y he tenido que usar hasta las m&aacute;s rudimentarias, por as&iacute; decirlo).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antes de entrar en el mundo de Laravel, es necesario conocer (al menos lo b&aacute;sico de) algo llamado composer. Yo o&iacute; de ello un poco&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[],"class_list":["post-1924","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s7s7rM-composer","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/posts\/1924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/comments?post=1924"}],"version-history":[{"count":0,"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/posts\/1924\/revisions"}],"wp:attachment":[{"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/media?parent=1924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/categories?post=1924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daxes.net\/blog\/wp-json\/wp\/v2\/tags?post=1924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}