<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP archivos - KumbiaPHP Framework PHP en español</title>
	<atom:link href="https://kumbiaphp.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>https://kumbiaphp.com/blog/category/php/</link>
	<description>Web &#38; app MVC PHP framework</description>
	<lastBuildDate>Mon, 31 Aug 2026 19:27:09 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://kumbiaphp.com/blog/wp-content/uploads/2016/01/250-150x150.png</url>
	<title>PHP archivos - KumbiaPHP Framework PHP en español</title>
	<link>https://kumbiaphp.com/blog/category/php/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">123854898</site>	<item>
		<title>Actualizamos la documentación de KumbiaPHP</title>
		<link>https://kumbiaphp.com/blog/2026/08/31/actualizamos-documentacion-kumbiaphp/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=actualizamos-documentacion-kumbiaphp</link>
					<comments>https://kumbiaphp.com/blog/2026/08/31/actualizamos-documentacion-kumbiaphp/#respond</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Mon, 31 Aug 2026 19:26:51 +0000</pubDate>
				<category><![CDATA[Documentación]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales y screencast]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[MVC framework]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=3172</guid>

					<description><![CDATA[<p>La documentación de KumbiaPHP continúa mejorando para ofrecer ejemplos más precisos, explicaciones más claras y una experiencia de aprendizaje&#8230;</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2026/08/31/actualizamos-documentacion-kumbiaphp/">Actualizamos la documentación de KumbiaPHP</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">La <strong>documentación de KumbiaPHP</strong> continúa mejorando para ofrecer ejemplos más precisos, explicaciones más claras y una experiencia de aprendizaje más sencilla. Durante los últimos días se incorporaron varias actualizaciones al manual, con especial atención en ActiveRecord, seguridad y el tutorial de CRUD.</p>



<h2 class="wp-block-heading">Mejoras en ActiveRecord</h2>



<p class="wp-block-paragraph">Se corrigieron ejemplos de validación que contenían sintaxis PHP incorrecta y se ajustaron argumentos y mensajes para que correspondan con la API actual de KumbiaPHP. También se repararon ejemplos relacionados con callbacks y validaciones de correo electrónico.</p>



<p class="wp-block-paragraph">La documentación de paginación también fue revisada. El ejemplo completo ahora conserva correctamente las condiciones de búsqueda y el estado de la paginación entre las diferentes solicitudes, además de corregir referencias a propiedades, comparaciones y archivos de las vistas.</p>



<p class="wp-block-paragraph">Otro cambio importante fue la actualización de la referencia de la API de ActiveRecord. Se alinearon firmas de métodos, valores de retorno, convenciones de fechas, configuración y ejemplos con el comportamiento actual del framework.</p>



<p class="wp-block-paragraph">Sin embargo, también se recomienda revisar la opción de utilizar el <strong><a href="https://github.com/KumbiaPHP/ActiveRecord/">nuevo ActiveRecord</a></strong>, ya que incorpora mejoras de <strong>optimización y seguridad</strong> que pueden beneficiar a las aplicaciones que utilizan KumbiaPHP.</p>



<span id="more-3172"></span>



<h2 class="wp-block-heading">Documentación de seguridad más precisa</h2>



<p class="wp-block-paragraph">La seguridad también recibió una revisión importante.</p>



<p class="wp-block-paragraph">Se eliminó de la documentación una afirmación incorrecta sobre la protección automática de ActiveRecord frente a inyecciones SQL. Ahora se explica con mayor claridad la diferencia entre el filtrado de solicitudes, el manejo de SQL, las consultas sin parámetros y el escape de contenido HTML.</p>



<p class="wp-block-paragraph">El objetivo es que la documentación no solo muestre cómo utilizar el framework, sino que también ayude a comprender sus límites y a desarrollar aplicaciones más seguras.</p>



<h2 class="wp-block-heading">Un tutorial CRUD más fácil de seguir</h2>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-index-view-page-2.jpg"><img fetchpriority="high" decoding="async" width="1024" height="634" data-id="3174" src="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-index-view-page-2-1024x634.jpg" alt="Segunda página de la lista de menús con los enlaces Anterior y Siguiente" class="wp-image-3174" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-index-view-page-2-1024x634.jpg 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-index-view-page-2-300x186.jpg 300w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-index-view-page-2-768x476.jpg 768w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-index-view-page-2-940x582.jpg 940w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-index-view-page-2.jpg 1332w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-delete-success-fomr.jpg"><img decoding="async" width="1024" height="634" data-id="3175" src="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-delete-success-fomr-1024x634.jpg" alt="Lista de menús después de eliminar un registro y mostrar el mensaje Operación exitosa" class="wp-image-3175" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-delete-success-fomr-1024x634.jpg 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-delete-success-fomr-300x186.jpg 300w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-delete-success-fomr-768x476.jpg 768w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-delete-success-fomr-940x582.jpg 940w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-delete-success-fomr.jpg 1332w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-edit-sucess-form.jpg"><img decoding="async" width="1024" height="634" data-id="3176" src="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-edit-sucess-form-1024x634.jpg" alt="Lista de menús mostrando el título actualizado del registro editado" class="wp-image-3176" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-edit-sucess-form-1024x634.jpg 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-edit-sucess-form-300x186.jpg 300w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-edit-sucess-form-768x476.jpg 768w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-edit-sucess-form-940x582.jpg 940w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-edit-sucess-form.jpg 1332w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-create-success-form.jpg"><img loading="lazy" decoding="async" width="1024" height="634" data-id="3177" src="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-create-success-form-1024x634.jpg" alt="Formulario de creación de menú mostrando el mensaje Operación exitosa después del envío" class="wp-image-3177" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-create-success-form-1024x634.jpg 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-create-success-form-300x186.jpg 300w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-create-success-form-768x476.jpg 768w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-create-success-form-940x582.jpg 940w, https://kumbiaphp.com/blog/wp-content/uploads/2026/08/kumbiaphp-menus-create-success-form.jpg 1332w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</figure>



<p class="wp-block-paragraph">El tutorial de CRUD fue reorganizado para ofrecer una experiencia más progresiva, especialmente para quienes están comenzando con KumbiaPHP.</p>



<p class="wp-block-paragraph">La nueva versión explica el flujo de datos y la relación con MVC, incorpora pasos para CRUD, rutas, paginación y verificación, además de incluir una sección de solución de problemas y una lista de comprobación. También se añadieron 14 capturas de pantalla con textos alternativos descriptivos y captions en Markdown.</p>



<p class="wp-block-paragraph">Estas mejoras permiten seguir el tutorial de principio a fin y comprender no solo qué código escribir, sino también cómo se relacionan las diferentes partes de una aplicación KumbiaPHP.</p>



<h2 class="wp-block-heading">Seguimos mejorando</h2>



<p class="wp-block-paragraph">Estas actualizaciones son parte del trabajo continuo para mantener la documentación de KumbiaPHP alineada con el framework y hacerla más útil tanto para desarrolladores experimentados como para quienes están aprendiendo.</p>



<p class="wp-block-paragraph">Puedes consultar los cambios directamente en <a href="https://github.com/KumbiaPHP/Documentation">GitHub</a>:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/KumbiaPHP/Documentation/pull/90?utm_source=chatgpt.com">PR #90, correcciones de ejemplos de ActiveRecord</a></li>



<li><a href="https://github.com/KumbiaPHP/Documentation/pull/91?utm_source=chatgpt.com">PR #91, correcciones del ejemplo de paginación</a></li>



<li><a href="https://github.com/KumbiaPHP/Documentation/pull/92?utm_source=chatgpt.com">PR #92, mejoras de documentación sobre seguridad SQL</a></li>



<li><a href="https://github.com/KumbiaPHP/Documentation/pull/93?utm_source=chatgpt.com">PR #93, actualización de la referencia de ActiveRecord</a></li>



<li><a href="https://github.com/KumbiaPHP/Documentation/pull/97?utm_source=chatgpt.com">PR #97, mejora del tutorial de CRUD</a></li>
</ul>



<p class="wp-block-paragraph">La documentación es una parte fundamental del proyecto. Mantenerla actualizada ayuda a que KumbiaPHP siga siendo más fácil de aprender, utilizar y mantener.</p>



<p class="wp-block-paragraph"></p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2026/08/31/actualizamos-documentacion-kumbiaphp/">Actualizamos la documentación de KumbiaPHP</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2026/08/31/actualizamos-documentacion-kumbiaphp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3172</post-id>	</item>
		<item>
		<title>KumbiaPHP Agent Skills: IA para el framework PHP</title>
		<link>https://kumbiaphp.com/blog/2026/08/26/kumbiaphp-agent-skills/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kumbiaphp-agent-skills</link>
					<comments>https://kumbiaphp.com/blog/2026/08/26/kumbiaphp-agent-skills/#respond</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Wed, 26 Aug 2026 17:28:11 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[noticias]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=3155</guid>

					<description><![CDATA[<p>Las KumbiaPHP Agent Skills preparan el framework para trabajar con la nueva generación de agentes de inteligencia artificial capaces&#8230;</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2026/08/26/kumbiaphp-agent-skills/">KumbiaPHP Agent Skills: IA para el framework PHP</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Las <strong>KumbiaPHP Agent Skills</strong> preparan el framework para trabajar con la nueva generación de agentes de inteligencia artificial capaces de analizar proyectos, modificar código, ejecutar pruebas y participar en tareas completas de desarrollo. Con este nuevo repositorio, KumbiaPHP amplía su esfuerzo de actualización y lleva el conocimiento del framework a un formato que también puede ser utilizado por los agentes de IA.</p>



<p class="wp-block-paragraph">En este nuevo escenario, un framework no solo necesita estar actualizado para los desarrolladores, sino que también debe ofrecer a estos nuevos agentes el contexto necesario para entender cómo debe utilizarse. Con ese objetivo nace el repositorio KumbiaPHP Agent Skills, una nueva iniciativa de la comunidad para preparar el ecosistema para esta nueva etapa del desarrollo de software.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a target="_blank" rel="noopener" href="https://github.com/KumbiaPHP/agents-skills">https://github.com/KumbiaPHP/agents-skills</a></p>



<h2 class="wp-block-heading">¿Qué son las KumbiaPHP Agent Skills?</h2>



<p class="wp-block-paragraph">Las KumbiaPHP Agent Skills son un conjunto de instrucciones estructuradas diseñadas para que los agentes de inteligencia artificial puedan trabajar correctamente con el framework. A diferencia de la documentación tradicional, que está pensada para humanos, las Agent Skills están diseñadas para responder las dudas clave de los agentes, indicándoles cuándo usar una funcionalidad específica, qué decisiones arquitectónicas deben respetar, las convenciones propias del framework y cómo evitar errores conceptuales al generar código. Estas habilidades utilizan el estándar abierto Agent Skills, basado en archivos <code class="" data-line="">SKILL.md</code> alojados dentro de carpetas especializadas.</p>



<span id="more-3155"></span>



<h2 class="wp-block-heading">Independencia de proveedores</h2>



<p class="wp-block-paragraph">El repositorio KumbiaPHP Agent Skills no está ligado a ninguna herramienta específica. Al no depender de asistentes concretos como Claude, GitHub Copilot, OpenCode o Codex, se convierte en una capa de conocimiento reutilizable para cualquier sistema compatible con el estándar. El objetivo no es crear una integración cerrada, sino construir una base de conocimiento universal para la IA aplicada a KumbiaPHP.</p>



<h2 class="wp-block-heading">Primeras KumbiaPHP Agent Skills disponibles</h2>



<p class="wp-block-paragraph">La primera versión del repositorio incluye cuatro Agent Skills fundamentales:</p>



<figure class="wp-block-image size-large is-resized"><a href="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/KumbiaPHP-Skill-Management-2026-08-26-171428-min.svg"><img decoding="async" src="https://kumbiaphp.com/blog/wp-content/uploads/2026/08/KumbiaPHP-Skill-Management-2026-08-26-171428-min.svg" alt="KumbiaPHP Agent Skills" class="wp-image-3161" style="aspect-ratio:2.900886453286083;width:840px;height:auto"/></a></figure>



<p class="wp-block-paragraph"><strong>1. Crear controladores (kumbiaphp-create-controller)</strong></p>



<p class="wp-block-paragraph">Define cómo deben crearse y modificarse los controladores en el framework. Instruye a la IA para que revise los controladores existentes, respete la jerarquía de <code class="" data-line="">AppController</code> y mantenga la lógica de negocio estrictamente en los modelos. Al evitar la sobrecarga del controlador, esta Skill garantiza que el código generado mantenga siempre una arquitectura MVC limpia y ordenada.</p>



<p class="wp-block-paragraph"><strong>2. Crear modelos (kumbiaphp-create-model)</strong></p>



<p class="wp-block-paragraph">Orientada a los modelos basados en ActiveRecord, esta instrucción guía a la IA en la revisión del esquema de la base de datos y en el uso de los patrones nativos del framework. Al enseñarle a evitar capas innecesarias —como repositorios externos— y a adaptarse al código del proyecto, su principal beneficio es asegurar que todas las soluciones respeten fielmente el estilo nativo de KumbiaPHP.</p>



<p class="wp-block-paragraph"><strong>3. Crear vistas (kumbiaphp-create-view)</strong></p>



<p class="wp-block-paragraph">Esta habilidad define cómo trabajar con las vistas <code class="" data-line="">.phtml</code>. Obliga al agente a revisar el controlador asociado, a aprovechar los layouts y helpers existentes, y a evitar la inclusión de lógica de negocio en la interfaz. El resultado directo de estas reglas es la generación de vistas mucho más limpias, coherentes y con una separación estricta del patrón MVC.</p>



<p class="wp-block-paragraph"><strong>4. ActiveRecord (kumbiaphp-work-with-active-record)</strong></p>



<p class="wp-block-paragraph">Es la Skill más completa del sistema y abarca la formulación de consultas, paginación, relaciones, validaciones y operaciones CRUD. Además, incorpora reglas de seguridad vitales, educando a la IA sobre el control de campos permitidos y la precaución con las consultas dinámicas, mientras evita malas prácticas heredadas de otros ORM. Esto proporciona un equilibrio perfecto entre la seguridad de los datos y la consistencia general del framework.</p>



<h2 class="wp-block-heading">Principios KISS, DRY y MVC en la IA</h2>



<p class="wp-block-paragraph">Estas directrices refuerzan los principios fundamentales de <a href="https://kumbiaphp.com/blog/about/">KumbiaPHP</a>, asegurando que la IA aplique la filosofía KISS (<em>Keep It Simple</em>), DRY (<em>Don’t Repeat Yourself</em>), mantenga el patrón MVC bien separado y priorice el uso de las APIs nativas del framework. Adicionalmente, exigen que los agentes verifiquen la versión real de KumbiaPHP antes de asumir comportamientos, previniendo los clásicos errores que ocurren cuando la IA mezcla funciones de distintas versiones de PHP u otros frameworks.</p>



<h2 class="wp-block-heading">KumbiaPHP Agent Skills y el futuro del framework</h2>



<p class="wp-block-paragraph">Este repositorio no es un experimento aislado, sino una evolución natural del ecosistema KumbiaPHP. Hoy en día, no basta con que un framework sea estable, esté bien documentado y se mantenga actualizado; también debe ser comprensible para los agentes de IA, compatible con herramientas de desarrollo asistido y estar estructurado para su consumo automático. Esto introduce un concepto vital para la supervivencia del software: el contexto del framework también debe mantenerse actualizado para las máquinas.</p>



<p class="wp-block-paragraph">Las KumbiaPHP Agent Skills representan un cambio importante en la forma en que los frameworks se preparan para el futuro. Ya no basta con documentar para humanos; ahora también es indispensable documentar para los agentes de inteligencia artificial. Con este repositorio, KumbiaPHP da un paso al frente y se posiciona como un framework completamente preparado para la nueva generación de herramientas de desarrollo asistido por IA.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a target="_blank" rel="noopener" href="https://github.com/KumbiaPHP/agents-skills">https://github.com/KumbiaPHP/agents-skills</a></p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a target="_blank" rel="noopener" href="https://agentskills.io/specification">https://agentskills.io/specification</a></p>



<p class="wp-block-paragraph"></p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2026/08/26/kumbiaphp-agent-skills/">KumbiaPHP Agent Skills: IA para el framework PHP</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2026/08/26/kumbiaphp-agent-skills/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3155</post-id>	</item>
		<item>
		<title>KumbiaPHP y PHP 8.5: mejoras del framework</title>
		<link>https://kumbiaphp.com/blog/2026/08/04/kumbiaphp-php-8-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kumbiaphp-php-8-5</link>
					<comments>https://kumbiaphp.com/blog/2026/08/04/kumbiaphp-php-8-5/#respond</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Tue, 04 Aug 2026 04:31:00 +0000</pubDate>
				<category><![CDATA[Comunidad]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[anuncios]]></category>
		<category><![CDATA[noticias]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=3127</guid>

					<description><![CDATA[<p>KumbiaPHP y PHP 8.5: avances clave para un desarrollo más sólido KumbiaPHP y PHP 8.5 representan un paso importante&#8230;</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2026/08/04/kumbiaphp-php-8-5/">KumbiaPHP y PHP 8.5: mejoras del framework</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">KumbiaPHP y PHP 8.5: avances clave para un desarrollo más sólido</h2>



<p class="wp-block-paragraph"><strong>KumbiaPHP y PHP 8.5</strong> representan un paso importante para mantener el framework actualizado, estable y preparado para nuevos proyectos. Las mejoras recientes fortalecen la consola, amplían las pruebas automatizadas y facilitan la colaboración de la comunidad.</p>



<p class="wp-block-paragraph">Desde la publicación de KumbiaPHP 1.2.1, el proyecto ha seguido evolucionando sin abandonar su objetivo principal: ofrecer una experiencia de desarrollo simple, rápida y productiva.</p>



<h2 class="wp-block-heading">Resumen</h2>



<ul class="wp-block-list">
<li>La consola reconoce mejor la ubicación de las aplicaciones.</li>



<li>Los errores relacionados con rutas son más claros.</li>



<li>Se evitaron avisos innecesarios al ejecutar comandos.</li>



<li>Las pruebas automatizadas cubren desde PHP 8.0 hasta PHP 8.5.</li>



<li>Se mejoró la compatibilidad con Workerman 5.</li>



<li>Se añadieron nuevas pruebas para la consola y la gestión de hojas de estilo.</li>



<li>La comunidad dispone de mejores guías para contribuir.</li>



<li>Continúan en desarrollo mejoras para PostgreSQL, autenticación, formularios y <code class="" data-line="">Registry</code>.</li>
</ul>



<span id="more-3127"></span>



<h2 class="wp-block-heading">KumbiaPHP y PHP 8.5: una base más confiable</h2>



<p class="wp-block-paragraph">La compatibilidad entre <strong>KumbiaPHP y PHP 8.5</strong> ayuda a que el framework pueda utilizarse en entornos actuales sin dejar atrás los proyectos existentes.</p>



<p class="wp-block-paragraph">La matriz de pruebas automatizadas cubre ahora desde PHP 8.0 hasta PHP 8.5. Esto permite detectar incompatibilidades y elementos deprecados antes de que lleguen a afectar las aplicaciones.</p>



<p class="wp-block-paragraph">También se realizaron ajustes para mantener la compatibilidad con Workerman 5, especialmente en el uso de temporizadores y en el proceso de inicio del servidor.</p>



<p class="wp-block-paragraph">En conjunto, estos cambios crean una base más sólida para desarrollar aplicaciones con versiones recientes de PHP.</p>



<h2 class="wp-block-heading">Una consola más clara y predecible</h2>



<p class="wp-block-paragraph">La consola de KumbiaPHP ahora reconoce con mayor facilidad la ubicación de una aplicación.</p>



<p class="wp-block-paragraph">La opción <code class="" data-line="">--path</code> puede apuntar directamente al directorio de la aplicación o a la raíz de un proyecto que contenga la estructura habitual del framework.</p>



<p class="wp-block-paragraph">Cuando una ruta no existe o no contiene una aplicación válida, la consola muestra un mensaje más claro. Esto facilita la identificación del problema y evita perder tiempo revisando configuraciones incorrectas.</p>



<p class="wp-block-paragraph">También se corrigió un aviso que podía aparecer cuando <code class="" data-line="">application.production</code> no estaba definido. En ese caso, la consola utiliza un valor predeterminado seguro, sin modificar la configuración del proyecto.</p>



<p class="wp-block-paragraph">Estas mejoras permiten ejecutar comandos desde diferentes ubicaciones con un comportamiento más consistente.</p>



<h2 class="wp-block-heading">Más pruebas para proteger la estabilidad</h2>



<p class="wp-block-paragraph">Las pruebas automatizadas son una parte esencial para mantener KumbiaPHP estable.</p>



<p class="wp-block-paragraph">Además de ampliar la compatibilidad con distintas versiones de PHP, se añadieron pruebas específicas para la consola y para la gestión de hojas de estilo mediante <code class="" data-line="">Css</code>.</p>



<p class="wp-block-paragraph">Estas pruebas comprueban aspectos como:</p>



<ul class="wp-block-list">
<li>El orden de los archivos.</li>



<li>La eliminación de duplicados.</li>



<li>El manejo de dependencias.</li>



<li>Las llamadas repetidas.</li>



<li>Las rutas dentro de subdirectorios.</li>
</ul>



<p class="wp-block-paragraph">Con esta cobertura, resulta más sencillo detectar regresiones antes de integrar nuevos cambios.</p>



<h2 class="wp-block-heading">Un camino más sencillo para contribuir</h2>



<p class="wp-block-paragraph">KumbiaPHP también ha mejorado la documentación dirigida a la comunidad.</p>



<p class="wp-block-paragraph">El proyecto cuenta ahora con una guía de contribución que explica cómo preparar cambios, ejecutar pruebas y enviar propuestas al repositorio.</p>



<p class="wp-block-paragraph">También se añadieron un código de conducta y una política para reportar vulnerabilidades de seguridad.</p>



<p class="wp-block-paragraph">Estas mejoras ofrecen un entorno más claro y seguro para quienes desean colaborar, proponer correcciones o ayudar a revisar el código.</p>



<p class="wp-block-paragraph">La documentación también incluye información sobre la estructura del proyecto, las versiones compatibles y las prácticas recomendadas para trabajar en el framework.</p>



<h2 class="wp-block-heading">Qué sigue en desarrollo</h2>



<p class="wp-block-paragraph">Varias mejoras continúan en revisión y todavía no forman parte de la rama principal.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Área</th><th>Mejora propuesta</th></tr></thead><tbody><tr><td><code class="" data-line="">Registry</code></td><td>Conservar el valor original y convertirlo en una colección solo cuando sea necesario</td></tr><tr><td>Formularios</td><td>Respetar correctamente los valores enviados mediante POST en checkbox y radio</td></tr><tr><td>Autenticación</td><td>Mantener el encabezado <code class="" data-line="">Authorization</code> con Apache, CGI o FastCGI</td></tr><tr><td>PostgreSQL</td><td>Mejorar la detección de tablas cuando se utilizan distintos esquemas</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Estas propuestas buscan resolver situaciones reales encontradas en diferentes entornos de desarrollo.</p>



<p class="wp-block-paragraph">Mientras continúen en revisión, no deben considerarse funcionalidades disponibles de manera general.</p>



<h2 class="wp-block-heading">Problemas que aún necesitan una solución</h2>



<p class="wp-block-paragraph">También se han identificado dos situaciones que requieren una implementación más completa.</p>



<p class="wp-block-paragraph">La primera está relacionada con las asociaciones <code class="" data-line="">belongs_to</code>. Actualmente, puede resultar difícil diferenciar entre una relación declarada cuyo registro no existe y una relación que nunca fue configurada.</p>



<p class="wp-block-paragraph">Distinguir ambos casos permitiría mostrar errores más precisos y simplificar la depuración.</p>



<p class="wp-block-paragraph">La segunda está relacionada con los adaptadores de bases de datos. Los valores SQL y los identificadores, como nombres de tablas, columnas o esquemas, necesitan tratamientos diferentes.</p>



<p class="wp-block-paragraph">Separarlos claramente ayudaría a mejorar la seguridad y la consistencia de las consultas.</p>



<h2 class="wp-block-heading">Cómo ayudar a fortalecer KumbiaPHP</h2>



<p class="wp-block-paragraph">La mejor forma de apoyar estos avances es probar KumbiaPHP en proyectos y entornos reales.</p>



<p class="wp-block-paragraph">Quienes utilicen la consola, Workerman, PostgreSQL, FastCGI, formularios o <code class="" data-line="">Registry</code> pueden compartir sus resultados indicando:</p>



<ul class="wp-block-list">
<li>La versión de PHP utilizada.</li>



<li>El sistema operativo o entorno de ejecución.</li>



<li>Los pasos necesarios para reproducir el comportamiento.</li>



<li>El resultado esperado.</li>



<li>El resultado obtenido.</li>
</ul>



<p class="wp-block-paragraph">Antes de proponer un cambio, conviene consultar <a href="https://github.com/KumbiaPHP/KumbiaPHP/blob/master/CONTRIBUTING.md"><code class="" data-line="">CONTRIBUTING.md</code></a> y acompañar cada corrección con una prueba enfocada.</p>



<p class="wp-block-paragraph">Los avances de <strong>KumbiaPHP y PHP 8.5</strong> muestran que el framework puede conservar su sencillez mientras fortalece su compatibilidad, estabilidad y capacidad de evolución. Cada prueba, reporte y contribución ayuda a construir una base más sólida para toda la comunidad.</p>



<p class="wp-block-paragraph"></p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2026/08/04/kumbiaphp-php-8-5/">KumbiaPHP y PHP 8.5: mejoras del framework</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2026/08/04/kumbiaphp-php-8-5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3127</post-id>	</item>
		<item>
		<title>Optimizando la Renderización Condicional en Vistas de KumbiaPHP con return 1;</title>
		<link>https://kumbiaphp.com/blog/2024/10/14/optimizando-la-renderizacion-condicional-en-vistas-de-kumbiaphp-con-return-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=optimizando-la-renderizacion-condicional-en-vistas-de-kumbiaphp-con-return-1</link>
					<comments>https://kumbiaphp.com/blog/2024/10/14/optimizando-la-renderizacion-condicional-en-vistas-de-kumbiaphp-con-return-1/#comments</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Mon, 14 Oct 2024 16:52:23 +0000</pubDate>
				<category><![CDATA[Documentación]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[vistas]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=2823</guid>

					<description><![CDATA[<p>Aprende a optimizar la renderización condicional en vistas de KumbiaPHP usando return 1; para escribir código más limpio y eficiente sin bloques if-else innecesarios.</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2024/10/14/optimizando-la-renderizacion-condicional-en-vistas-de-kumbiaphp-con-return-1/">Optimizando la Renderización Condicional en Vistas de KumbiaPHP con return 1;</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">En el desarrollo web, especialmente al trabajar con motores de plantillas o frameworks MVC como <a href="https://kumbiaphp.com/blog/manuales-y-descargas/">KumbiaPHP</a>, es común <a href="https://github.com/KumbiaPHP/Documentation/blob/master/es/view.md">renderizar</a> condicionalmente partes de una vista basándose en la disponibilidad de datos. Tradicionalmente, los desarrolladores utilizan sentencias <em>if-else</em> para controlar el flujo de renderización de la vista. Sin embargo, el uso excesivo de bloques <em>if-else</em> puede desordenar tu código y dificultar su mantenimiento.</p>



<p class="wp-block-paragraph">En este artículo, exploraremos una forma más limpia y eficiente de gestionar la renderización condicional en KumbiaPHP con return 1;. También profundizaremos en por qué este enfoque es preferible sobre el uso estándar de <em>return;</em> o estructuras <em>if-else</em> anidadas.</p>



<span id="more-2823"></span>



<h2 class="wp-block-heading">El Enfoque Tradicional: Uso de <em>if-else</em></h2>



<p class="wp-block-paragraph">Considera un escenario donde quieres mostrar un mensaje si no hay datos para mostrar y renderizar el resto de la vista solo cuando los datos están disponibles. Un enfoque típico podría verse así:</p>



<pre class="wp-block-code language-php"><code class="" data-line="">&lt;?php if (!$products): ?&gt;
    &lt;h2&gt;No hay productos disponibles&lt;/h2&gt;
&lt;?php else: ?&gt;
    &lt;h1&gt;Lista de Productos&lt;/h1&gt;
    &lt;ul&gt;
        &lt;?php foreach ($products as $product): ?&gt;
            &lt;li&gt;
                &lt;h3&gt;&lt;?= $product-&gt;nombre ?&gt;&lt;/h3&gt;
                &lt;img src=&quot;&lt;?= $product-&gt;imagen_url ?&gt;&quot; alt=&quot;&lt;?= $product-&gt;nombre ?&gt;&quot; /&gt;
                &lt;p&gt;&lt;strong&gt;Categoría:&lt;/strong&gt; &lt;?= $product-&gt;categoria ?&gt;&lt;/p&gt;
                &lt;p&gt;&lt;strong&gt;Descripción:&lt;/strong&gt; &lt;?= $product-&gt;descripcion ?&gt;&lt;/p&gt;
                &lt;p&gt;&lt;strong&gt;Precio:&lt;/strong&gt; $&lt;?= number_format($product-&gt;precio, 2) ?&gt;&lt;/p&gt;
                &lt;p&gt;&lt;strong&gt;Stock:&lt;/strong&gt; &lt;?= $product-&gt;stock ?&gt; unidades disponibles&lt;/p&gt;
                &lt;p&gt;&lt;strong&gt;SKU:&lt;/strong&gt; &lt;?= $product-&gt;sku ?&gt;&lt;/p&gt;
                &lt;a href=&quot;/productos/&lt;?= $product-&gt;id ?&gt;&quot; class=&quot;btn&quot;&gt;Ver Detalles&lt;/a&gt;
            &lt;/li&gt;
        &lt;?php endforeach ?&gt;
    &lt;/ul&gt;
&lt;?php endif; ?&gt;
</code></pre>



<p class="wp-block-paragraph">Aunque esto funciona, envolver todo el código de la vista dentro de un bloque <em>else</em> añade una indentación y complejidad innecesarias, especialmente en vistas más grandes.</p>



<h2 class="wp-block-heading">Renderización condicional en KumbiaPHP con return 1; Una Solución Más Limpia:</h2>



<p class="wp-block-paragraph">Para mejorar la legibilidad y mantener el código más limpio, podemos utilizar <em>return 1</em>; para salir de la vista de manera anticipada si no hay datos. Aquí está cómo se vería el código:</p>



<pre class="wp-block-code language-php"><code class="" data-line="">&lt;?php if (!$products) {
    echo &quot;&lt;h2&gt;No hay productos disponibles&lt;/h2&gt;&quot;;
    //View::partial(&#039;sin-datos&#039;); // o enviamos un partial
    return 1;
}?&gt;

&lt;h1&gt;Lista de Productos&lt;/h1&gt;
&lt;ul&gt;
    &lt;?php foreach ($products as $product): ?&gt;
        &lt;li&gt;
            &lt;h3&gt;&lt;?= $product-&gt;nombre ?&gt;&lt;/h3&gt;
            &lt;img src=&quot;&lt;?= $product-&gt;imagen_url ?&gt;&quot; alt=&quot;&lt;?= $product-&gt;nombre ?&gt;&quot; /&gt;
            &lt;p&gt;&lt;strong&gt;Categoría:&lt;/strong&gt; &lt;?= $product-&gt;categoria ?&gt;&lt;/p&gt;
            &lt;p&gt;&lt;strong&gt;Descripción:&lt;/strong&gt; &lt;?= $product-&gt;descripcion ?&gt;&lt;/p&gt;
            &lt;p&gt;&lt;strong&gt;Precio:&lt;/strong&gt; $&lt;?= number_format($product-&gt;precio, 2) ?&gt;&lt;/p&gt;
            &lt;p&gt;&lt;strong&gt;Stock:&lt;/strong&gt; &lt;?= $product-&gt;stock ?&gt; unidades disponibles&lt;/p&gt;
            &lt;p&gt;&lt;strong&gt;SKU:&lt;/strong&gt; &lt;?= $product-&gt;sku ?&gt;&lt;/p&gt;
            &lt;p&gt;&lt;strong&gt;Fecha de Lanzamiento:&lt;/strong&gt; &lt;?= date(&#039;d/m/Y&#039;, strtotime($product-&gt;fecha_lanzamiento)) ?&gt;&lt;/p&gt;
            &lt;p&gt;&lt;strong&gt;Calificación:&lt;/strong&gt; &lt;?= $product-&gt;calificacion ?&gt; estrellas&lt;/p&gt;
            &lt;a href=&quot;/productos/&lt;?= $product-&gt;id ?&gt;&quot; class=&quot;btn&quot;&gt;Ver Detalles&lt;/a&gt;
        &lt;/li&gt;
    &lt;?php endforeach ?&gt;
&lt;/ul&gt;
</code></pre>



<p>En este ejemplo:</p>
<ul>
<li>Si <em>$products</em> está vacío o es <em>false</em>, se muestra el mensaje «No hay productos disponibles» y la ejecución de la vista se detiene gracias a <em>return 1;</em>.</li>
<li>Si <em>$products</em> tiene datos, el código continúa ejecutándose y se muestra la lista detallada de productos sin necesidad de un bloque <em>else</em>.</li>
<li>El código es más limpio y fácil de leer al eliminar la indentación adicional.</li>
</ul>



<h2 class="wp-block-heading">Aplicación en Templates y Partials</h2>



<p class="wp-block-paragraph">La misma técnica puede aplicarse en <strong>templates</strong> y <strong>partials</strong>. Esto es útil cuando necesitas condicionar la inclusión de ciertas secciones o elementos de la interfaz de usuario.</p>



<h3 class="wp-block-heading">Ejemplo en un Partial</h3>



<p class="wp-block-paragraph">En un partial que muestra comentarios de un artículo:</p>



<pre class="wp-block-code language-php"><code class="" data-line="">&lt;?php
if (!$comments) {
    echo &quot;&lt;p&gt;No hay comentarios aún. ¡Sé el primero en comentar!&lt;/p&gt;&quot;;
    return 1;
}?&gt;

&lt;div class=&quot;comments&quot;&gt;
    &lt;h3&gt;&lt;?= count($comments) ?&gt; Comentarios&lt;/h3&gt;
    &lt;?php foreach ($comments as $comment): ?&gt;
        &lt;div class=&quot;comment&quot;&gt;
            &lt;p&gt;&lt;strong&gt;&lt;?= $comment-&gt;autor ?&gt;&lt;/strong&gt; dice:&lt;/p&gt;
            &lt;p&gt;&lt;?= $comment-&gt;contenido ?&gt;&lt;/p&gt;
            &lt;p&gt;&lt;em&gt;Publicado el &lt;?= date(&#039;d/m/Y H:i&#039;, strtotime($comment-&gt;fecha_publicacion)) ?&gt;&lt;/em&gt;&lt;/p&gt;
        &lt;/div&gt;
    &lt;?php endforeach ?&gt;
&lt;/div&gt;
</code></pre>



<h2 class="wp-block-heading">Entendiendo <em>View::render()</em> y <em>include</em></h2>



<p class="wp-block-paragraph">En KumbiaPHP, las vistas se renderizan usando el método <em>View::render()</em>, que internamente incluye el archivo de vista:</p>



<pre class="wp-block-code language-php"><code class="" data-line="">// Carga la vista
if (!include self::getView()) {
    throw new KumbiaException(&#039;Vista &quot;&#039; . self::getPath() . &#039;&quot; no encontrada&#039;, &#039;no_view&#039;);
}</code></pre>



<p class="wp-block-paragraph">La sentencia <em>include</em> en PHP devuelve <em>false</em> si falla al cargar el archivo (debido a que el archivo no existe, falta de permisos, etc.). Si el archivo incluido ejecuta un <em>return;</em> sin un valor, devuelve <em>null</em>, lo que la validación del  <em>include</em> se interpreta como <em>false</em>. Esto lleva a que <em>View::render()</em> crea que el archivo de vista no pudo ser incluido y lanza una excepción.</p>



<h3 class="wp-block-heading">La Importancia de <em>return 1;</em></h3>



<p class="wp-block-paragraph">Al usar <em>return 1;</em>, la vista devuelve <em>1</em>, lo que <em>include</em> interpreta como una inclusión exitosa. Esto permite que el proceso de renderización continúe sin problemas sin desencadenar una excepción.</p>



<h2 class="wp-block-heading">Beneficios de Usar <em>return 1;</em></h2>



<ul class="wp-block-list">
<li><strong>Código Más Limpio</strong>: Al eliminar bloques <em>else</em> innecesarios, el código es más sencillo y legible.</li>



<li><strong>Facilidad de Mantenimiento</strong>: Menos indentaciones y anidaciones facilitan la comprensión y modificación del código en el futuro.</li>



<li><strong>Consistencia</strong>: Puedes aplicar esta técnica en vistas, templates y partials de manera uniforme.</li>



<li><strong>Mayor Claridad</strong>: Separar la lógica de control del contenido principal mejora la claridad y organización del código.</li>
</ul>



<h2 class="wp-block-heading">Conclusión</h2>



<p class="wp-block-paragraph">Usar <em>return 1;</em> en las vistas de KumbiaPHP es una forma simple pero efectiva de gestionar la renderización condicional sin complicar tu código con estructuras <em>if-else</em> innecesarias. Asegura que tus vistas se ejecuten sin problemas y que el proceso de renderización continúe sin excepciones.</p>



<p class="wp-block-paragraph">Al adoptar este enfoque, puedes escribir vistas más limpias y mantenibles en tus aplicaciones KumbiaPHP. Pruébalo en tu próximo proyecto y experimenta la diferencia que hace en tu base de código.</p>



<p class="wp-block-paragraph"><em>¡Feliz codificación con KumbiaPHP!</em></p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2024/10/14/optimizando-la-renderizacion-condicional-en-vistas-de-kumbiaphp-con-return-1/">Optimizando la Renderización Condicional en Vistas de KumbiaPHP con return 1;</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2024/10/14/optimizando-la-renderizacion-condicional-en-vistas-de-kumbiaphp-con-return-1/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2823</post-id>	</item>
		<item>
		<title>Mejora en la configuración de errores en KumbiaPHP: Nueva funcionalidad Exception para entornos de producción</title>
		<link>https://kumbiaphp.com/blog/2024/09/30/mejora-en-la-configuracion-de-errores-en-kumbiaphp-nueva-funcionalidad-de-exception-para-entornos-de-produccion/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mejora-en-la-configuracion-de-errores-en-kumbiaphp-nueva-funcionalidad-de-exception-para-entornos-de-produccion</link>
					<comments>https://kumbiaphp.com/blog/2024/09/30/mejora-en-la-configuracion-de-errores-en-kumbiaphp-nueva-funcionalidad-de-exception-para-entornos-de-produccion/#comments</comments>
		
		<dc:creator><![CDATA[Nelson Rojas]]></dc:creator>
		<pubDate>Mon, 30 Sep 2024 13:33:59 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[buenas prácticas]]></category>
		<category><![CDATA[noticias]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=2851</guid>

					<description><![CDATA[<p>La entrada <a href="https://kumbiaphp.com/blog/2024/09/30/mejora-en-la-configuracion-de-errores-en-kumbiaphp-nueva-funcionalidad-de-exception-para-entornos-de-produccion/">Mejora en la configuración de errores en KumbiaPHP: Nueva funcionalidad Exception para entornos de producción</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Es común que al desplegar aplicaciones, los desarrolladores olviden cambiar el flag PRODUCTION a <strong>true</strong>, lo que puede dejar expuesta información sensible a los usuarios finales. En este artículo, abordaremos la nueva funcionalidad implementada en KumbiaPHP para mitigar este riesgo, proporcionando una capa adicional de seguridad a través de la configuración <strong>Exception</strong>.</p>



<p><span id="more-2851"></span></p>



<h2>El problema de dejar PRODUCTION en false:</h2>



<p>De manera predeterminada, KumbiaPHP expone la información detallada de cualquier tipo de excepción, a modo de permitirle al desarrollador revisar y entender dónde debe realizar mejoras. El problema es que si se olvida de cambiar el flag de PRODUCCION y lo deja en su valor inicial (false) cuando los usuarios finales realicen alguna operación indebida, o exista algún fallo no previsto en el servidor, por ejemplo con el acceso a la base de datos o al sistema de archivo, Kumbia no tendrá contexto de que se trata de una aplicación en producción y expondrá todos los detalles.</p>



<h2>La nueva configuración Exception: </h2>



<p>La nueva funcionalidad, de forma definitiva, <strong>evita exponer</strong> información de excepciones, lo cual es un alivio tanto para los desarrolladores como para los clientes. Para permitir la visualización de excepciones se ha agregado un nuevo archivo llamado <strong>exception.php</strong>. En su contenido se pueden definir las direcciones IP que tendrán permiso para recibir los detalles entregados por KumbiaPHP tanto en desarrollo como en entorno productivo.</p>
<p><a href="https://kumbiaphp.com/blog/wp-content/uploads/2024/09/Screen-Shot-2024-09-26-at-10.14.54.png"><img loading="lazy" decoding="async" class="alignnone wp-image-2853 size-full" src="https://kumbiaphp.com/blog/wp-content/uploads/2024/09/Screen-Shot-2024-09-26-at-10.14.54.png" alt="" width="616" height="194" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2024/09/Screen-Shot-2024-09-26-at-10.14.54.png 616w, https://kumbiaphp.com/blog/wp-content/uploads/2024/09/Screen-Shot-2024-09-26-at-10.14.54-300x94.png 300w" sizes="auto, (max-width: 616px) 100vw, 616px" /></a></p>



<h2>Ventajas de la nueva funcionalidad</h2>



<p>Dentro de las ventajas que se obtienen con esta nueva mejora podemos mencionar las siguientes:</p>
<ul>
<li>Seguridad: evita la exposición accidental de información sensible.</li>
<li><strong>Control</strong>: permite que sólo los desarrolladores o administradores puedan acceder a los detalles de los errores.</li>
<li>Fácil configuración: los usuarios solo necesitan añadir las IPs de confianza.</li>
</ul>
<h2>Cómo implementar la nueva funcionalidad:</h2>



<p>Para implementar la nueva funcionalida necesitamos seguir los siguientes pasos:</p>
<ol>
<li>Configurar las direcciones IP en el archivo <strong>exception.php</strong>.</li>
<li>Comprobar que los errores solo son visibles desde las IPs configuradas.</li>
</ol>
<h2>Caché:</h2>
<p>Desde esta nueva funcionalidad, el flag PRODUCTION asignado con el valor <strong>true</strong>, sólo será reponsable de habilitar el uso de la caché para el sitio web.</p>
<h2>Recordatorio:</h2>
<p>Nunca está demás dejar un recordatorio extra: aunque estés en modo desarrollo, si no se incluyen las direcciones IP dentro del archivo <strong>exception.php</strong> verán únicamente el error clásico, sin todos los detalles. Por lo tanto, <strong>no se olviden</strong> de agregar su propia dirección dentro de la nueva configuración.</p>
<h2>Conclusión:</h2>



<p>La nueva configuración de <strong>Exception</strong> en KumbiaPHP es un gran paso hacia la seguridad en entornos de producción, permitiendo que sólo quienes están autorizados puedan ver los detalles de los errores. Este tipo de mejoras no sólo protegen nuestras aplicaciones, sino que también promueven buenas prácticas en el desarrollo. De todos modos, el equipo está trabajando en <strong>agregar funcionalidades</strong> para esta nueva característica, así que no te pierdas las próximas mejoras que publicaremos también en nuestro blog.</p>
<p>Mucho ánimo a todos en nuestra comunidad, y como siempre les decimos&#8230; ¡larga vida a KumbiaPHP!</p>
<p>¡Un abrazo!</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2024/09/30/mejora-en-la-configuracion-de-errores-en-kumbiaphp-nueva-funcionalidad-de-exception-para-entornos-de-produccion/">Mejora en la configuración de errores en KumbiaPHP: Nueva funcionalidad Exception para entornos de producción</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2024/09/30/mejora-en-la-configuracion-de-errores-en-kumbiaphp-nueva-funcionalidad-de-exception-para-entornos-de-produccion/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2851</post-id>	</item>
		<item>
		<title>KumbiaPHP 1.2 optimizado para PHP 8: código simplificado y mayor velocidad</title>
		<link>https://kumbiaphp.com/blog/2024/09/26/kumbiaphp-1-2-optimizado-para-php-8-codigo-simplificado-y-mayor-velocidad/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kumbiaphp-1-2-optimizado-para-php-8-codigo-simplificado-y-mayor-velocidad</link>
					<comments>https://kumbiaphp.com/blog/2024/09/26/kumbiaphp-1-2-optimizado-para-php-8-codigo-simplificado-y-mayor-velocidad/#comments</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Thu, 26 Sep 2024 18:26:42 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[noticias]]></category>
		<category><![CDATA[php8]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=2802</guid>

					<description><![CDATA[<p>La entrada <a href="https://kumbiaphp.com/blog/2024/09/26/kumbiaphp-1-2-optimizado-para-php-8-codigo-simplificado-y-mayor-velocidad/">KumbiaPHP 1.2 optimizado para PHP 8: código simplificado y mayor velocidad</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Estamos emocionados de anunciar el lanzamiento de la <a href="https://github.com/KumbiaPHP/KumbiaPHP/releases/tag/v1.2.1" target="_blank" rel="noopener">versión 1.2 de KumbiaPHP</a> (Disponible desde el 11 de marzo del año en curso), una actualización que marca un hito significativo en la evolución de nuestro framework. <strong>KumbiaPHP 1.2 optimizado para </strong><a href="https://www.php.net/releases/8.0/es.php" target="_blank" rel="noopener">PHP 8</a> trae consigo mejoras en el rendimiento y la eficiencia, ya que aprovecha al máximo las capacidades de PHP 8, llevando tu desarrollo al siguiente nivel.</p>



<h2>KumbiaPHP 1.2 optimizado para PHP 8: Adopción total y ventajas</h2>
<p>Una de las principales novedades de <strong>KumbiaPHP 1.2</strong> es su completa compatibilidad con PHP 8. Si ya estás utilizando PHP 8 o tienes planes de actualizarte pronto, esta versión de KumbiaPHP es esencial para ti. PHP 8 introduce una serie de mejoras y nuevas características que permiten escribir código más limpio, eficiente y moderno. Al adoptar estas innovaciones, hemos optimizado el núcleo de KumbiaPHP, logrando una reducción significativa en las líneas de código.</p>



<span id="more-2802"></span>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://kumbiaphp.com/blog/wp-content/uploads/2024/07/kumbia-php-8-1.jpg"><img loading="lazy" decoding="async" width="750" height="282" src="https://kumbiaphp.com/blog/wp-content/uploads/2024/07/kumbia-php-8-1.jpg" alt="" class="wp-image-2811" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2024/07/kumbia-php-8-1.jpg 750w, https://kumbiaphp.com/blog/wp-content/uploads/2024/07/kumbia-php-8-1-300x113.jpg 300w" sizes="auto, (max-width: 750px) 100vw, 750px" /></a></figure>
</div>


<h2>Un núcleo más ligero y rápido</h2>
<p>Gracias a las nuevas características de PHP 8, hemos logrado simplificar y reducir el núcleo de KumbiaPHP. Esto se traduce en menos líneas de código, y lo convierte en un framework aún más rápido y eficiente. Menos código significa menos posibilidades de errores y un rendimiento mejorado, lo cual es crucial para el desarrollo de aplicaciones modernas y escalables.</p>
<h2>Todo funciona igual, pero de forma más eficiente</h2>
<p>Sabemos lo importante que es la estabilidad y la compatibilidad para nuestros usuarios. Por eso, aunque hemos realizado cambios significativos en el núcleo, el funcionamiento general de KumbiaPHP sigue siendo el mismo. Puedes actualizar a la versión 1.2 con la confianza de que tu aplicación continuará funcionando como antes, pero con las mejoras en rendimiento y eficiencia que PHP 8 ofrece.</p>
<h2>Futuras actualizaciones y nuevas librerías</h2>
<p>La versión 1.2 de KumbiaPHP es sólo el comienzo. En las próximas versiones menores, continuaremos aprovechando las ventajas de PHP 8, incorporando nuevas librerías y actualizaciones que enriquecerán nuestro framework. Estamos comprometidos en mantener a KumbiaPHP a la vanguardia de la tecnología, proporcionando a nuestros usuarios las herramientas necesarias para desarrollar aplicaciones robustas y eficientes.</p>
<h2>Recomendación adicional</h2>
<p>Dado que PHP 8.0 cumplió su ciclo de vida, sería recomendable ir adaptándose a las versiones más modernas que actualmente tienen soporte activo como la 8.2 y 8.3.</p>
<h2>¿Por qué actualizar a KumbiaPHP 1.2?</h2>
<ul>
<li><strong>Compatibilidad Total con PHP 8:</strong> Aprovecha todas las mejoras y nuevas características de PHP 8.</li>
<li><strong>Menos Código, Más Eficiencia:</strong> Un núcleo más ligero que mejora el rendimiento de tu aplicación.</li>
<li><strong>Estabilidad Garantizada:</strong> Continúa desarrollando con la tranquilidad de que todo funciona igual.</li>
<li><strong>Futuras Mejoras:</strong> Nuevas librerías y actualizaciones que seguirán optimizando tu experiencia de desarrollo.</li>
</ul>
<p>¡Actualiza hoy mismo a <strong>KumbiaPHP 1.2 optimizado para PHP 8</strong> y lleva tu desarrollo al siguiente nivel!</p>





<p> </p>
<p> </p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2024/09/26/kumbiaphp-1-2-optimizado-para-php-8-codigo-simplificado-y-mayor-velocidad/">KumbiaPHP 1.2 optimizado para PHP 8: código simplificado y mayor velocidad</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2024/09/26/kumbiaphp-1-2-optimizado-para-php-8-codigo-simplificado-y-mayor-velocidad/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2802</post-id>	</item>
		<item>
		<title>Compartir el core para diferentes aplicaciones</title>
		<link>https://kumbiaphp.com/blog/2020/08/05/compartir-el-core-para-diferentes-aplicaciones/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=compartir-el-core-para-diferentes-aplicaciones</link>
					<comments>https://kumbiaphp.com/blog/2020/08/05/compartir-el-core-para-diferentes-aplicaciones/#respond</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Wed, 05 Aug 2020 04:00:15 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales y screencast]]></category>
		<category><![CDATA[core]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=2527</guid>

					<description><![CDATA[<p>Este el tercer video donde mostramos una característca opcional que podemos usar al crear o desplegar nuestras aplicaciones Compartir&#8230;</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2020/08/05/compartir-el-core-para-diferentes-aplicaciones/">Compartir el core para diferentes aplicaciones</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Este el tercer video donde mostramos una característca opcional que podemos usar al crear o desplegar nuestras aplicaciones</p>
<figure style="text-align: center;"><iframe loading="lazy" src="https://www.youtube.com/embed/E2oh8YiV8Zg" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe><figcaption>Compartir el core de KumbiaPHP</figcaption></figure>
<p>La entrada <a href="https://kumbiaphp.com/blog/2020/08/05/compartir-el-core-para-diferentes-aplicaciones/">Compartir el core para diferentes aplicaciones</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2020/08/05/compartir-el-core-para-diferentes-aplicaciones/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2527</post-id>	</item>
		<item>
		<title>Instalación de XAMPP y configuración de VirtualHost</title>
		<link>https://kumbiaphp.com/blog/2020/08/04/instalacion-de-xampp-y-configuracion-de-virtualhost/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalacion-de-xampp-y-configuracion-de-virtualhost</link>
					<comments>https://kumbiaphp.com/blog/2020/08/04/instalacion-de-xampp-y-configuracion-de-virtualhost/#respond</comments>
		
		<dc:creator><![CDATA[HenryStivens]]></dc:creator>
		<pubDate>Tue, 04 Aug 2020 11:42:44 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales y screencast]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Virtua Host]]></category>
		<category><![CDATA[xampp]]></category>
		<guid isPermaLink="false">https://kumbiaphp.com/blog/?p=2511</guid>

					<description><![CDATA[<p>Instalar KumbiaPHP en Windows usando XAMPP Configurar virtual host en XAMPP para KumbiaPHP</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2020/08/04/instalacion-de-xampp-y-configuracion-de-virtualhost/">Instalación de XAMPP y configuración de VirtualHost</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Dos nuevos videos publicamos esta semana para iniciarnos en el mundo de KumbiaPHP, el primer video trata sobre la&#8230;</p>
<h2>Instalación de KumbiaPHP usando XAMPP en Windows</h2>


<figure style="text-align: center;"><iframe loading="lazy" src="https://www.youtube.com/embed/6urWXloT-so" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
<figcaption>Instalar KumbiaPHP en Windows usando XAMPP</figcaption>
</figure>


<p>El segundo video trata sobre la&#8230;</p>
<h2>Configuración de virtual host en Apache para usarlo con KumbiaPHP</h2>


<figure style="text-align: center;"><iframe loading="lazy" src="https://www.youtube.com/embed/ucvLTi2R660" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
<figcaption>Configurar virtual host en XAMPP para KumbiaPHP</figcaption>
</figure>

<p>La entrada <a href="https://kumbiaphp.com/blog/2020/08/04/instalacion-de-xampp-y-configuracion-de-virtualhost/">Instalación de XAMPP y configuración de VirtualHost</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2020/08/04/instalacion-de-xampp-y-configuracion-de-virtualhost/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2511</post-id>	</item>
		<item>
		<title>Servidor PHP desde la consola Linux de Windows</title>
		<link>https://kumbiaphp.com/blog/2020/03/04/servidor-php-desde-la-consola-linux-de-windows/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=servidor-php-desde-la-consola-linux-de-windows</link>
					<comments>https://kumbiaphp.com/blog/2020/03/04/servidor-php-desde-la-consola-linux-de-windows/#comments</comments>
		
		<dc:creator><![CDATA[Nelson Rojas]]></dc:creator>
		<pubDate>Wed, 04 Mar 2020 10:50:11 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales y screencast]]></category>
		<category><![CDATA[servidor php]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[wsl]]></category>
		<guid isPermaLink="false">https://www.kumbiaphp.com/blog/?p=2276</guid>

					<description><![CDATA[<p>Crear usuario y contraseña de la consola de linux Servidor PHP local</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2020/03/04/servidor-php-desde-la-consola-linux-de-windows/">Servidor PHP desde la consola Linux de Windows</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En esta ocasión vamos a hablar de la característica de <strong><em>Windows 10</em> que nos permite contar con nuestro servidor PHP desde la consola Linux</strong>, y cómo hacer uso de <em>KumbiaPHP</em> con los requerimientos mínimos para dicha consola.&nbsp;</p>
<p>Tendremos un <strong>servidor local de PHP</strong> perfecto para desarrollo, <strong>sin usar WAMP o XAMPP server</strong>.</p>
<p>Antes de comenzar, te dejamos un enlace donde se explican las implicancias del <em>WSL</em> (Windows Subsystem for Linux) <a href="https://es.wikipedia.org/wiki/Windows_Subsystem_for_Linux" target="_blank" rel="noopener noreferrer">https://es.wikipedia.org/wiki/Windows_Subsystem_for_Linux</a></p>
<p>Vamos con los requisitos. Lo primero que necesitamos es habilitar la caracterísca de <em>Subsistema Linux desde Windows</em>.<span id="more-2276"></span></p>
<h2>Instalar WSL en Windows 10</h2>
<p>Para ello hacemos clic en inicio y escribimos <code class="" data-line="">&lt;em&gt;Características de Windows&lt;/em&gt;</code> (en mi caso se verá diferente porque llevo una versión de <em>Windows</em> en inglés)</p>
<p>&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="835" height="677" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/00.png" alt="" class="wp-image-2277" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/00.png 835w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/00-300x243.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/00-768x623.png 768w" sizes="auto, (max-width: 835px) 100vw, 835px" /></figure>



<p>Luego buscaremos al final de la lista el <em>Subsistema Linux para Windows</em> (ver imagen siguiente)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="416" height="369" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/02.png" alt="" class="wp-image-2278" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/02.png 416w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/02-300x266.png 300w" sizes="auto, (max-width: 416px) 100vw, 416px" /></figure>



<p>Lo seleccionamos haciendo clic en la casilla de la izquierda, y finalizamos picando en el botón OK para que los cambios sean aplicados.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="656" height="482" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/03.png" alt="" class="wp-image-2279" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/03.png 656w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/03-300x220.png 300w" sizes="auto, (max-width: 656px) 100vw, 656px" /></figure>



<p>Tendremos que reiniciar para que la configuración se vea actualizada.</p>
<h2>Seleccionar la distribución de Linux en la Tienda de Microsoft</h2>
<p>Una vez hecho eso, iniciaremos a la aplicación <em>Tienda de Microsoft</em> (<em>Microsoft Store</em>) y usando su buscador, escribiremos la palabra <em>linux</em>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="804" height="633" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/05.png" alt="" class="wp-image-2280" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/05.png 804w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/05-300x236.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/05-768x605.png 768w" sizes="auto, (max-width: 804px) 100vw, 804px" /></figure>



<p>La lista de opciones es variada pues se cuenta con <strong><em>Ubuntu</em>, <em>Kali</em>, <em>Debian</em>, <em>OpenSuse</em>, entre otros</strong>. Para cuestiones de demostración he seleccionado la opción Debian (aunque en otra máquina lo he probado con <em>Ubuntu</em> 18.04).</p>
<p>Bastará con seleccionar la opción de vuestro gusto, y luego presionar el botón Obtener (Get en mi caso)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="807" height="640" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/06.png" alt="" class="wp-image-2281" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/06.png 807w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/06-300x238.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/06-768x609.png 768w" sizes="auto, (max-width: 807px) 100vw, 807px" /></figure>



<p>Puede que el instalador te pregunte, si quieres mantener sincronizadas tus máquinas de acuerdo a tu cuenta. En mi caso, prefiero que sólo sea instalado en esta máquina, sin importar la sincronización posterior (para ello te requerirá iniciar sesión con una cuenta de <em>Windows Live</em> &#8211; <em>Hotmail</em>, <em>Outlook</em> u otra)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="510" height="176" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/07.png" alt="" class="wp-image-2282" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/07.png 510w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/07-300x104.png 300w" sizes="auto, (max-width: 510px) 100vw, 510px" /></figure>



<p>En este diálogo he seleccionado «No, gracias». Luego de la respuesta, ha comenzado el proceso de instalación.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="802" height="633" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/09.png" alt="" class="wp-image-2283" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/09.png 802w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/09-300x237.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/09-768x606.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure>





<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="802" height="631" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/10.png" alt="" class="wp-image-2284" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/10.png 802w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/10-300x236.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/10-768x604.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="979" height="514" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/11.png" alt="" class="wp-image-2285" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/11.png 979w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/11-300x158.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/11-768x403.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/11-940x494.png 940w" sizes="auto, (max-width: 979px) 100vw, 979px" /></figure>



<h2 class="wp-block-heading">Crear usuario y contraseña de la consola de linux</h2>



<p>Cuando la configuración de la <em>consola linux</em> haya finalizado, nos pedirá crear un usuario con nombre y contraseña.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="890" height="272" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/13.png" alt="" class="wp-image-2286" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/13.png 890w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/13-300x92.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/13-768x235.png 768w" sizes="auto, (max-width: 890px) 100vw, 890px" /></figure>



<p>Noten que el nombre de usuario de la consola, <strong>no tiene por qué coincidir con el nombre de usuario de la máquina de <em>Windows</em></strong>. Una vez creado el usuario habremos finalizado la instalación de la <em>consola de Linux</em>!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="826" height="333" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/14.png" alt="" class="wp-image-2287" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/14.png 826w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/14-300x121.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/14-768x310.png 768w" sizes="auto, (max-width: 826px) 100vw, 826px" /></figure>



<p>Entonces ya tenemos nuestra estación Linux completamente funcional.&nbsp;</p>
<h2>Actualizar paquetes de Linux</h2>
<p>En los derivados de <em>Debian</em> (como <em>Ubuntu</em> y <em>Kali</em>) les recomiendo comenzar ejecutando el comando:</p>
<pre class="  language-bash"><code class="" data-line="">&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;apt-get&lt;/span&gt; update</code></pre>
<p>Con ello cargarás los repositorios de paquetes que podrás usar posteriormente.</p>
<h2>Instalar PHP y MariaDB (MySql) en la consola Linux de Windows</h2>
<p>Para usar <em>Debian</em> y derivados, con los requerimientos mínimos de desarrollo kumbiero necesitamos hacer la siguiente instalación</p>
<pre class="  language-bash"><code class="" data-line="">&lt;span class=&quot;token function&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;apt-get&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; php php-cli php-mysql mariadb-server php-mbstring &lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;wget&lt;/span&gt; unzip</code></pre>
<h2>Instalar KumbiaPHP framework</h2>
<p>Una vez que hemos finalizado la instalación, podemos hacer una prueba descargando la versión de <em>KumbiaPHP</em> desde la <a href="http://www.kumbiaphp.com" target="_blank" rel="noopener noreferrer">página principal del proyecto</a></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="312" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/03/31-1024x312.png" alt="" class="wp-image-2358" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/03/31-1024x312.png 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/31-300x91.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/31-768x234.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/31-940x286.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/31.png 1363w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Lo hacemos desde el icono de descarga para el formato tar. Hacemos clic con el botón secundario (normalmente el derecho) y copiamos el link desde el botón Copiar enlace (Copy link)</p>
<p>Luego desde la consola escribimos wget y pegamos lo que tenemos en el portapaleles. Deberíamos lograr una línea de ejecución como la siguiente:</p>
<pre class="  language-bash"><code class="" data-line="">&lt;span class=&quot;token function&quot;&gt;wget&lt;/span&gt; https://github.com/KumbiaPHP/KumbiaPHP/archive/v1.0.0.tar.gz</code></pre>
<p>&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="982" height="437" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/03/33.png" alt="" class="wp-image-2362" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/03/33.png 982w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/33-300x134.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/33-768x342.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/33-940x418.png 940w" sizes="auto, (max-width: 982px) 100vw, 982px" /></figure>



<p>Descomprimimos la descarga:</p>
<pre class="  language-bash"><code class="" data-line="">&lt;span class=&quot;token function&quot;&gt;tar&lt;/span&gt; xvfz v1.0.0.tar.gz</code></pre>
<p>Y renombramos la carpeta resultante con un nombre que tenga relación con el trabajo que llevaremos a cabo (usando el comando <code class="" data-line="">mv</code>)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="579" height="171" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/03/35.png" alt="" class="wp-image-2361" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/03/35.png 579w, https://kumbiaphp.com/blog/wp-content/uploads/2020/03/35-300x89.png 300w" sizes="auto, (max-width: 579px) 100vw, 579px" /></figure>



<p>Finalizamos la prueba de instalación entrando en la carpeta que hemos creado hasta llegar a <code class="" data-line="">&lt;strong&gt;default/app&lt;/strong&gt;</code></p>
<p>&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="455" height="89" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/22.png" alt="" class="wp-image-2291" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/22.png 455w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/22-300x59.png 300w" sizes="auto, (max-width: 455px) 100vw, 455px" /></figure>



<h2 class="wp-block-heading">Servidor PHP local</h2>



<p>Sin instalar Apache o Nginx,&nbsp; escribiendo el comando:</p>
<pre class=" language-bash"><code class="" data-line="">bin/phpserver</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="957" height="642" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/23.png" alt="" class="wp-image-2292" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/23.png 957w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/23-300x201.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/23-768x515.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/23-940x631.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/23-440x294.png 440w" sizes="auto, (max-width: 957px) 100vw, 957px" /></figure>



<p><em>Windows</em> nos preguntará, si acaso queremos permitir conexiones desde redes internas o desde fuera de la red. Para efectos de prueba he seleccionado ambas opciones y he presionado el botón «Permitir acceso» (Allow access)</p>
<p>Entonces, nuestra aplicación recién instalada de KumbiaPHP estará disponible desde la dirección http://0.0.0.0:8001. En caso que no resulte también puedes invocarla usando la url de http://localhost:8001, o usando http://127.0.0.1:8001, o incluso la dirección ip interna de tu máquina como por ejemplo http://192.168.1.101:8001. Esta última opción nos servirá para hacer pruebas desde otros dispositivos conectados a la misma red (por ejemplo desde un tablet, o un móvil)</p>
<p>&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="474" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/25-1024x474.png" alt="" class="wp-image-2293" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/25-1024x474.png 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/25-300x139.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/25-768x355.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/25-940x435.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/25.png 1366w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2>Permisos de la base de datos (Mysql, MariaDB, Postresql, otros)</h2>
<p>Un dato final, es si usamos MySQL o MariaDB o Postgresql, Windows nos preguntará si queremos dar acceso a dichos servicios, tal como ha hecho cuando hemos lanzado <code class="" data-line="">&lt;strong&gt;bin/phpserver&lt;/strong&gt;</code>. En dicho caso sólo les recomiendo habilitar el uso en el equipo y la red local. No para el exterior. Aunque esta es una decisión que debe tomar cada uno.</p>
<p><strong>¿Y qué hemos ganado con lanzar KumbiaPHP con el comando bin/phpserver?</strong></p>
<p>Pues la ventana en la que lo hemos lanzado, se ha convertido en una ventana de log de utilización, por la que veremos cada una de las acciones que realice el framework mientras estamos trabajando con él</p>
<p>Y lo más importante, también <strong>veremos los errores al instante, para depurar más rápidamente nuestas aplicaciones</strong>.</p>
<p>&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="632" height="273" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/27.png" alt="" class="wp-image-2295" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/27.png 632w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/27-300x130.png 300w" sizes="auto, (max-width: 632px) 100vw, 632px" /></figure>



<p>Y hasta aquí nuestra publicación :-)</p>
<p>Esperamos que les sea de utilidad y que con ello tengan nuevas opciones de disfrutar programando con el <a href="https://www.kumbiaphp.com/blog/about/">framework más rápido</a> del oeste!</p>
<p>Saludos a todos nuestros colegas kumbieros!</p>
<p><strong>Post data: si eres nuevo por aquí te recomendamos ver algunos de nuestros posts para los recién llegados:</strong></p>
<p>KumbiaPHP essentials</p>
<p><a href="https://www.kumbiaphp.com/blog/2016/05/26/kumbiaphp-essentials/"><img loading="lazy" decoding="async" class="alignnone size-medium" src="https://i.vimeocdn.com/video/572670979.jpg?mw=800&amp;mh=449" alt="KumbiaPHP introducción" width="799" height="449" /></a></p>
<p>Scaffolding con KumbiaPHP</p>
<p><a href="https://www.kumbiaphp.com/blog/2017/04/03/scaffolding-para-crud-abm-sencillos-y-no-tanto-primera-parte/"><img loading="lazy" decoding="async" class="alignnone wp-image-2300 size-large" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2020/02/scaffolding-1024x576.jpg" alt="Scaffolding con KumbiaPHP" width="940" height="529" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2020/02/scaffolding-1024x576.jpg 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/scaffolding-300x169.jpg 300w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/scaffolding-768x432.jpg 768w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/scaffolding-940x529.jpg 940w, https://kumbiaphp.com/blog/wp-content/uploads/2020/02/scaffolding.jpg 1058w" sizes="auto, (max-width: 940px) 100vw, 940px" /></a></p>
<p>Dicho esto,</p>
<p>Larga vida a KumbiaPHP!</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2020/03/04/servidor-php-desde-la-consola-linux-de-windows/">Servidor PHP desde la consola Linux de Windows</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2020/03/04/servidor-php-desde-la-consola-linux-de-windows/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2276</post-id>	</item>
		<item>
		<title>Tumia.co Nuestra experiencia</title>
		<link>https://kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tumia-co-nuestra-experiencia-con-kumbiaphp</link>
					<comments>https://kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/#respond</comments>
		
		<dc:creator><![CDATA[Camilo Tilaguy]]></dc:creator>
		<pubDate>Sat, 29 Jun 2019 17:43:27 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webs con KumbiaPHP]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[experiencia]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[startup]]></category>
		<guid isPermaLink="false">https://www.kumbiaphp.com/blog/?p=2179</guid>

					<description><![CDATA[<p>En tumia.co tenemos un software de gestión para diferentes tipos de negocios. En el desarrollo del sistema elegimos Kumbiaphp y en este post contamos nuestra experiencia</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/">Tumia.co Nuestra experiencia</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">En tumia.co tenemos un software de gestión para diferentes tipos de negocios, supermercados, farmacias, consultorios medicos, centros deportivos, gestión de eventos, venta en ruta, entre otros.</p>



<p class="wp-block-paragraph"><a href="https://tumia.co" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">Para el software de gestión tumia.co</a> hemos desarrollado más de 30 módulos, creado un API REST y también un APP para Android y para iOS.</p>



<p class="wp-block-paragraph">Ha sido un trabajo largo, llevamos 5 años en este proyecto y nos apoyamos en Kumbiaphp como se indica en el <a href="https://tumia.co/kumbiaphp-y-tumia-unidos-para-formar-un-buen-producto/">post que publicamos</a></p>



<h2 class="wp-block-heading">Antes de tumia.co &#8230;</h2>



<p class="wp-block-paragraph">Antes de crear tumia.co desarrollamos varios sistemas de CRM,  de comercio electrónico, de historia clínica, entre otros y eso nos sirvió para ver lo tedioso, complejo y costoso que resulta hacer un software sin un buen framework y sin una buena comunidad que lo respalde.</p>



<p class="wp-block-paragraph">Crear otros sistemas fue fácil, pero dar soporte, actualizar, mejorar y agregar nuevos módulos era un dolor de cabeza (en ese tiempo).</p>



<p class="wp-block-paragraph">Mediante Kumbiaphp resolvimos ese asunto, luego de aprender a usar el framework en poco tiempo, creamos una plataforma llamada Recaudo Efectivo con la cual atendíamos la facturación electronica de los clientes, poco a poco fue creciendo, pero a diferencia de los proyectos anteriores, con Kumbiaphp dar mantenimiento, realizar mejoras y agregar nuevos módulos no fue un dolor de cabeza, todo lo contrario.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Con Kumbiaphp crear nuevos módulos y dar soporte es todo un placer.</p><cite>Equipo de desarrollo de tumia.co</cite></blockquote>



<p class="wp-block-paragraph">Durante casi 5 años hemos depurado nuestro sistema, en ocaciones no usamos patrones de diseño y nos desviamos, pero retomar el buen camino con el framework y el apoyo de la comunidad resulto en algo muy sencillo.</p>



<span id="more-2179"></span>



<h2 class="wp-block-heading">Las actualizaciones del framework</h2>



<p class="wp-block-paragraph">Posteriormente actualizar la version de PHP y adoptar las nuevas características del framework en nuestro sistema no fue nada complejo y es algo que nos gusto muchísimo, pues con otros framewoks suele ser un problema.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Actualizando Kumbiaphp no hemos tenido problema, siempre ha resultado fácil y nos beneficiamos de las nuevas características.</p><cite>Equipo de desarrollo de tumia.co</cite></blockquote>



<p class="wp-block-paragraph">Al momento de crear la APP android vimos la necesidad de crear una buena API para nuestro sistema y así compartir información con otros dispositivos; En esto nos sorprendió mucho Kumbiaphp, pues con el Rest Controller todo es super super fácil.</p>



<p class="wp-block-paragraph">El rest controller junto con el Active records hace un equipo ganador&#8230; realmente veloz como lo indica el <a href="https://www.kumbiaphp.com/blog/2017/04/19/frameworks-php-benchmark/">benchmark </a>y para desarrollar nuevas funcionalidades resulta muy fácil y nada preocupante.</p>



<h2 class="wp-block-heading">Capturas de pantalla de tumia.co</h2>



<p class="wp-block-paragraph"><em>Dejamos unas pocas, pues el sistema es bastante extenso</em></p>



<ul class="wp-block-gallery columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex" data-amp-lightbox="true"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="711" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-pos-macbook-pro-1024x711.jpg" alt="" data-id="2180" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/tumia-pos-macbook-pro/" class="wp-image-2180" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-pos-macbook-pro-1024x711.jpg 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-pos-macbook-pro-300x208.jpg 300w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-pos-macbook-pro-768x533.jpg 768w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-pos-macbook-pro-940x653.jpg 940w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-pos-macbook-pro.jpg 1620w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Tumia.co en un macbook</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="654" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.46.24-p.-m.-1024x654.png" alt="" data-id="2181" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/captura-de-pantalla-2019-06-04-a-las-6-46-24-p-m/" class="wp-image-2181" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.46.24-p.-m.-1024x654.png 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.46.24-p.-m.-300x192.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.46.24-p.-m.-768x491.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.46.24-p.-m.-940x601.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.46.24-p.-m..png 1343w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>tumia.co detalle de un producto</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="801" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.47-p.-m.-1024x801.png" alt="" data-id="2182" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/captura-de-pantalla-2019-06-04-a-las-6-44-47-p-m/" class="wp-image-2182" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.47-p.-m.-1024x801.png 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.47-p.-m.-300x235.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.47-p.-m.-768x601.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.47-p.-m.-940x735.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.47-p.-m..png 1110w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Ejemplo de factura electronica tumia.co</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="616" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.04-p.-m.-1024x616.png" alt="tumia.co lista de facturas" data-id="2189" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/captura-de-pantalla-2019-06-04-a-las-6-44-04-p-m/" class="wp-image-2189" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.04-p.-m.-1024x616.png 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.04-p.-m.-300x180.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.04-p.-m.-768x462.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.04-p.-m.-940x565.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.44.04-p.-m..png 1445w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Lista de facturas</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="819" height="1024" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-POS-en-iPad-819x1024.jpg" alt="" data-id="2183" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/tumia-pos-en-ipad/" class="wp-image-2183" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-POS-en-iPad-819x1024.jpg 819w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-POS-en-iPad-240x300.jpg 240w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-POS-en-iPad-768x960.jpg 768w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-POS-en-iPad-940x1175.jpg 940w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/tumia-POS-en-iPad.jpg 1600w" sizes="auto, (max-width: 819px) 100vw, 819px" /><figcaption>Modulo POS en un ipad</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="710" height="627" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.02.13-p.-m..png" alt="" data-id="2184" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/captura-de-pantalla-2019-05-08-a-las-9-02-13-p-m/" class="wp-image-2184" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.02.13-p.-m..png 710w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.02.13-p.-m.-300x265.png 300w" sizes="auto, (max-width: 710px) 100vw, 710px" /><figcaption>Algunos módulos de tumia.co</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="765" height="645" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.03.21-p.-m..png" alt="" data-id="2185" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/captura-de-pantalla-2019-05-08-a-las-9-03-21-p-m/" class="wp-image-2185" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.03.21-p.-m..png 765w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.03.21-p.-m.-300x253.png 300w" sizes="auto, (max-width: 765px) 100vw, 765px" /><figcaption>Algunos módulos de tumia.co</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="734" height="580" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.03.34-p.-m..png" alt="" data-id="2186" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/captura-de-pantalla-2019-05-08-a-las-9-03-34-p-m/" class="wp-image-2186" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.03.34-p.-m..png 734w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-05-08-a-las-9.03.34-p.-m.-300x237.png 300w" sizes="auto, (max-width: 734px) 100vw, 734px" /><figcaption>Algunos módulos de tumia.co</figcaption></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="612" src="https://www.kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.42.22-p.-m.-1024x612.png" alt="" data-id="2188" data-link="https://www.kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/captura-de-pantalla-2019-06-04-a-las-6-42-22-p-m/" class="wp-image-2188" srcset="https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.42.22-p.-m.-1024x612.png 1024w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.42.22-p.-m.-300x179.png 300w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.42.22-p.-m.-768x459.png 768w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.42.22-p.-m.-940x562.png 940w, https://kumbiaphp.com/blog/wp-content/uploads/2019/06/Captura-de-Pantalla-2019-06-04-a-las-6.42.22-p.-m..png 1459w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Ejemplo de factura del modulo POS</figcaption></figure></li></ul>



<p class="wp-block-paragraph">Disfrutamos mucho en el desarrollo de tumia.co tenemos muchos módulos para desarrollar y otros para actualizar.</p>



<p class="wp-block-paragraph">Con la evolución de Javascript y los frameworks JS, gran parte de nuestro sistema se esta apoyando también en vueJS, pero sin dejar a un lado a Kumbiaphp pues nos continua brindando una excelente API REST.</p>



<p class="wp-block-paragraph">Agradecemos a la comunidad Kumbiaphp en Slack y buscamos el tiempo para apoyar este excelente proyecto <a href="http://slack.kumbiaphp.com/">http://slack.kumbiaphp.com/</a></p>



<p class="wp-block-paragraph">Muy contentos animamos a los emprendedores a conocer y beneficiarse de todo lo que ofrece Kumbiaphp Framework.</p>
<p>La entrada <a href="https://kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/">Tumia.co Nuestra experiencia</a> se publicó primero en <a href="https://kumbiaphp.com/blog">KumbiaPHP Framework PHP en español</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kumbiaphp.com/blog/2019/06/29/tumia-co-nuestra-experiencia-con-kumbiaphp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2179</post-id>	</item>
	</channel>
</rss>
