NetBeans IDE y PHP, los mejores amigos

Read More

Desde tiempos inmemorables, mentiras no hace mucho, desde hace 13 años aproximadamente con mis inicios en el desarrollo de software con el lenguaje java y php, llevo usando NetBeans IDE, amado por muchos y odiado por otros tantos.

La primer característica que se le asigna por quienes no lo quieren tanto es que es pesado y lento, pueden tener razón pero esto se ve compensado por sus muchas caracteríscas y ya no viene a ser tan lento cuando solo descargas la versión que necesitas, es decir solo con los plugins para tus desarrollos, y en el caso de KumbiaPHP te recomiendo la versión NetBeans IDE PHP, pesa solo 142 MB y es gratuita. Recordemos también que es un proyecto de código libre aunque este detrás Oracle y múltiplataforma, funciona decentemente en Windows, Linux y macOS.

Descargas de NetBeans IDE

Es el mejor amigo de KumbiaPHP y de PHP en general porque:

Netbeans poderoso editor de código PHP

El editor de NetBeans PHP proporciona plantillas de código y herramientas de generación de código, como generación de «getter y setter», refactorización, tales como «renombrar instantáneamente», sugerencias de parámetros, sugerencias y arreglos rápidos, y completado de código inteligente.

Autocompletado de código y visualización de la documentación. Ctrl + Espacio

Proyectos PHP

 NetBeans ofrece una versión del IDE hecha a medida para el desarrollo de sitios y aplicaciones web de PHP que comprenden una variedad de lenguajes de scripting y mark-up. El editor de PHP está dinámicamente integrado con HTML, JavaScript y funciones de edición CSS. También se integra son sistemas de control de versiones como Git, Mercurial y Subversion.

Navegación en los proyectos
El navegador permite ir rápidamente a atributos y funciones solo dando doble clic

No importa el IDE que uses, lo importante es que uses alguno, con el que te sientas cómodo y te ayude a trabajar más rápido. Mi elección hasta ahora ha sido NetBeans.

Este artículo hace parte de la serie iniciada por Nelson Rojas: Programar código PHP ¿IDE o editor de Texto?

Páginas hechas con kumbia: geotronics.es y mtgsearch.it

Hola !!

En este post quiero enseñaros lo que he sido capaz de hacer hasta ahora con KumbiaPHP, os presento un par de páginas webs monolíticas, pero que gracias a la ayuda del framework me ha resultado fácil y rápido.

1) Geotronics es una WEB de GPSs industriales para obra y agricultura.
El diseño corre de la mano de Dadú estudio. Geotronics es una WEB 2.0 y como tal expone su contenido de eventos, ofertas e información de productos para que los usuarios y clientes puedan compartir su opinión.
La WEB actualiza su contenido con un CMS también logrado con KumbiaPHP y Bootstrap para el acabado.
Subida de archivos, gestión de usuarios, control en árbol de todas las secciones con pestañas y formularios vistosos que agilizan la actualización de todo.

GEOTRONICS SCREENSHOT

2) MTGSEARCH es una WEB del juego coleccionable llamado Magic: The Gathering o Magic: el encuentro.
Los usuarios aquí están informados de todo lo relacionado con este mundillo y todo gracias al uso de KumbiaPHP y MaterializeCSS para el acabado.
Buscadores rápidos, zona privada bien segura, acceso a las secciones a una velocidad sorprendente, manejo ágil de la base de datos.
En resumen, es todo lo que Google quiere para posicionarte bien; que la WEB sea rápida con diseño responsive para que se vea bien en todas las pantallas y el contenido sea usable.

MTGSEARCH SCREENSHOT

Saludos !!

Preguntas resueltas en Slack 1

Read More

¡Hola Kumbieros!

Como algunos sabrán, va en aumento las personas que nos empiezan a contactar a través del chat de KumbiaPHP en Slack. Donde de manera voluntaria y altruista Kumbieros con más experiencia dedicando algo de su tiempo ayudan a novatos y no tan novatos a resolver sus dudas sobre el framework y otros menesteres propios del diseño e implementación de software. Si aun no has ingresado puedes pedir tu ingreso en esta dirección: http://slack.kumbiaphp.com/

Slack es muy bueno para dar soporte, pero con el transcurrir del tiempo los mensajes se van perdiendo y se escurre por el desagüe ese gran contenido que nos podría ayudar a todos. Por eso hemos decidido crear esta sección para mantener de manera permanente y pública esta valiosa información. Sin más introducción les dejo la siguiente colección de preguntas y respuestas:

¿Cómo hacer enlaces en KumbiaPHP que registre en donde estoy o mejor dicho el enlace activo?

Pregunta jerson.fuentes
Pregunta relacionada de josher1601

¿De alguna forma se puede obtener el controlador que estoy viendo y la acción?

En el controlador y la vista disponemos de variables para obtener está información:
$module_name;
$controller_name;
$action_name;

Ejemplo de uso en un controlador:


<?php
class AppController extends Controller
{
  final protected function initialize()
  {
    Flash::info("El módulo es $this->module_name"); //Si hay módulo retorna el nombre del módulo
    Flash::info("El controlador es $this->controller_name"); //Retorna el nombre del controlador
    Flash::info("La acción es $this->action_name");  //Retorna el nombre de la acción
  }

  final protected function finalize()
  {
  }
}

Ejemplo de uso en una vista:

Usted está en el controlador <?= $controller_name ?> y la acción <?= $action_name ?>

¿Para que funcione Flass::success() había que activar algo?

Pregunta marcelok. Pregunta relacionada de yecaicedo:

Acabé de realizar un CRUD sencillo pero cuando guarda no me muestra el Flash::valid()

Para mostrar los mensajes Flash y solo si hay redirección de URL (usando por ejemplo Redirect::to()) se debe poner antes de ninguna salida, la función session_start() con ponerlo en el controlador que lo necesita es suficiente.

¿Cuando realizo el save() hay algún método que retorne el last_insert_id? Pregunta xavi92

Si haces un save() el objeto ya tiene el valor en el campo id

Ejemplo:


<?php

//Si guarda correctamente
if($album->save()){
  $album->id; //Retorna el id con el cual ha sido guardado
}

¿En Skeleton puedo usar al 100% el ancho de la pantalla? Leí que el grid tiene un ancho de 960px Pregunta marcelok

Es igual para todos los frameworks css, los row siempre son fluidos, si no se usa container será del máximo siempre, si se usa container el máximo será 960 que se puede cambiar si se quiere. Hay que tener cuidado con usar el máximo de la pantalla ya que hay pantallas muy anchas y por usabilidad esto podría ser un fallo.

¿Me gustaría saber utilizar librerías propias? Hace tiempo utilicé la de Captchar… Pero si son algo mas complejas no tengo idea. Pregunta viclomu

La idea general es la siguiente. Van en la carpeta vendor si es para PSR0 y PSR4 lib, las que no lo son cada una tiene una forma, lo mejor es crear un fichero php en libs y poner la carpeta dentro de libs con la librería. Si la librería es un fichero solo en libs. Si es mas completa va en una carpeta y un fichero nombre_clase.php que tendrá que llamar a lo que necesite, algunas traen autoload otras has de llamar al fichero principal, hay que hacerle un puente en los casos necesarios ya que no hay una forma única.

Tip para usuarios de Atom:

Se puede lanzar fácilmente un servidor de PHP con el siguiente paquete: https://atom.io/packages/php-server recuerda lanzarlo desde la carpeta public como muestra la siguiente imagen:

Esto ha sido parte de todo lo que se aprende en Slack y los Kumbieros ¡Hasta la próxima!

Programar código PHP ¿IDE o editor de Texto?

Read More
komodo edit php

Bienvenido 2017, feliz enero para todos, y los mayores éxitos para nuestros colegas Kumbieros!

En esta ocasión vamos a hablar de un tema  bastante sencillo, y que tiene que ver con ayudar un poco a la decisión qué herramienta es la más efectiva, eficiente y se acomoda más a las necesidades del desarrollador.

Todos sabemos lo rápido que resultan las aplicaciones hechas con KumbiaPHP, pero cuando empiezas cuesta un poco sacarle el provecho necesario a las horas de trabajo, y te pierdes en búsquedas de documentación, paseos por los foros, consultas en el grupo de google, etc.

¿Hay algún tipo de secreto o algo que nos pueda ser de utilidad?

En este sentido tenemos dos opciones: la primera es usar un IDE para PHP, o usar un editor de texto sobrecargado (con extensiones)

Bueno, ¿qué IDE y editor de texto puedes usar?

Por el lado de los IDE están los gratuitos como Netbeans, Eclipse, Aptana. También los hay de pago como PHP Storm, Zend Studio, Komodo IDE.
En la vereda de los editores de texto, la lista comienza con Komodo Edit, Atom, Visual Studio Code, Notepad++, Brackets, Sublime Text, Vim, Gedit, TextMate, Text Wranger, etc.

¿Y entonces, cómo me decido por uno u otro?

El mayor beneficio de un IDE es que con el sólo hecho de cargar tu proyecto tendrás acceso a autocompletado de código;  ayuda con clases, métodos, propiedades; herramientas como formateadores, snippets (trozos de código); resaltado de errores y ayuda para corregirlos. Ahora, no todo es beneficio con un IDE pues tendrás que sacrificar algo – como dice la ley del intercambio equivalente – tendrás que ceder en memoria RAM y procesador. Los IDE normalmente están basados en Java, y, por lo tanto no corren en código nativo (la mayoría)

¿Y los editores de texto?

Un editor de texto tiene la particularidad de ser en extremo liviano en cuanto a memoria RAM, pero sólo es eso, un editor de texto. Tendrás que agregar extensiones especiales para darles algo de funcionalidad extra y mejorar así tu tiempo de desarrollo y tu curva de aprendizaje.Recuerdo bien que alguna vez usé Atom, y haber creado “recortes de código php” para labores como crear CRUD, Controladores, Modelos, e incluso lanzar los Helpers de la clase Form con autocompletado. No es complejo construir tus propios recortes de código.

Y entonces, ¿qué sigue en este post?

Lo cierto es que vamos a crear entre todos diferentes post para ir mostrándoles cómo usar IDE o editores de texto recargados. Ya tenemos el de NetBeans IDE. Nuestro colega Raúl (@demonio69) seguirá con la serie con el uso de Komodo Edit. Y espero acompañarlo luego con Eclipse para la próxima entrega.

Para cerrar, así se ve Netbeans en acción y Komodo Edit configurado con las librerías del core de KumbiaPHP.

Netbeans en Acción
Usando Komodo Edit con la clase Router

Serie de artículos:

NetBeans IDE

Enlazar bloques de HTML con CSS

Hola Kumbieros !

Vengo a contaros un truco CSS que aprendí relativamente poco y aunque no es algo explícito de nuestro framework PHP, sí es algo a tener en cuenta a la hora de aplicar buenas prácticas a nuestro código.

Se trata de evitar situaciones en las que rompemos la estructura de nuestro código HTML, evitando hacer cosas como esta:

<a href="/blog/2016/12/01/enlazar-bloques-de-html-con-css">
<div>
<p>"DIV" Y OTRAS ETIQUETAS PESADAS DENTRO DE "A", NO PARECE LA FORMA MÁS CORRECTA</p>
</div>
</a>

Para evitar esto propongo crear una clase CSS con las siguiente propiedas:

<style>
/* ENLAZAR BLOQUES */
.box-link { overflow:hidden; position:relative; }
.box-link a { height:100%; left:0; position:absolute; top:0; width:100%;
</style>

Con la clase box-link le damos solidez a la caja que va a ser enlazada.
Y después le decimos al enlace que ocupe todo el alto y ancho de la caja.

Nuestro ejemplo quedaría ahora de la siguiente manera:

<div class="box-link">
<p>AHORA ESTA CAJA ES UN ENLACE</p>
<a href="/blog/2016/12/01/enlazar-bloques-de-html-con-css"></a>
</div>

Espero que les sea útil.

Gracias por leerme.