Blog

  • ¿Cómo actualizar PHP en macOS Sierra?

    ¿Cómo actualizar PHP en macOS Sierra?

    La librería usada en este post ya no recibe actualizaciones y recomiendan utilizar Homebrew para macOS donde podrás usar PHP hasta su versión más reciente.

    Estaba programando unos scripts que requerían PHP 7, y trataba de ejecutarlos desde la terminal; por desgracia, me daban error y tardé como 3 o 5 minutos en saber que mi macOS Sierra, venía con PHP 5.6 por default. Por suerte, hay plugins que te permiten actualizar PHP en macOS Sierra de una forma muy fácil.

    Actualizar PHP en macOS Sierra

    Existe una página web llamada php-osx.liip.ch que nos brinda un paquete que contiene PHP 7 (u otras versiones), y que podremos instalarlo desde un sólo comando en nuestra Mac (OS X / macOS 10.6 – 10.12).

    Paso I.
    curl -s https://php-osx.liip.ch/install.sh | bash -s 7.3

    Copia el comando anterior, y pégalo en tu terminal; pero antes, ¿notas que dice 7.3? Ahi tú puedes borrar el 7.3 y ponerle una de las siguientes versiones: 7.1, 7.0, 5.6, 5.5, 5.4 ó 5.3.

    Después de que hayas escogido la versión a instalar, ejecutas el comando y empezará a instalar la versión de PHP que seleccionaste, no sin antes pedirte la contraseña para continuar.

    Paso II.

    Una vez instalado, puedes verificar la versión instalada desde tu terminal con el siguiente comando:

    php --version

    Podría suceder de que tu terminal muestre que tienes la versión 5.6.30, la que viene por defecto:

    PHP 5.6.30 (cli) (built: Feb 7 2017 16:18:37)
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

    Si esto ocurre, sólo tienes que ejecutar este comando:

    export PATH=/usr/local/php5/bin:$PATH

    Revisa de nuevo la versión, y ahora tiene que salir correctamente:

    PHP 7.3.0 (cli) (built: May 6 2017 10:02:00) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

    Resultados

    Lo anterior debería funcionar, al menos funcionó para mí. La verdad es que solamente ocupo PHP desde la terminal para ejecutar scripts básicos, probar funciones, entre otros; de ahi en fuera utilizo un entorno de desarrollo llamado Local by Flywheel.

    Espero que no tengas errores al tratar de instalar una nueva versión de PHP, pero si la tienes, no dudes en preguntar en los comentarios y con gusto te ayudaré a solucionarlo. 🙂

    Changelog

    09/02/2021. Se cambió la versión 7.1, usada en el post, a la última versión aceptada por la librería, 7.3. Y se agregó una advertencia al principio para usar Homebrew en vez de la librería presentada en este post.

  • ¿Qué es y cómo usar Local by Flywheel?

    ¿Qué es y cómo usar Local by Flywheel?

    Recién me encontré en un grupo de Facebook un entorno de desarrollo nuevo llamado Local; lo he estado probando y te cuento sobre mi experiencia a continuación.

    Local By Flywheel ha cambiado su nombre a simplemente, Local.

    ¿Alguna vez has escuchado hablar sobre MAMP, XAMPP y WAMP? Éstos son entornos de desarrollo para trabajar con Apache, MySQL y PHP; si ya eres desarrollador, tal vez ya conoces y usas cualquiera de los anteriores, si no, este es un buen comienzo para empezar a investigar sobre qué son los entornos de desarrollos.

    En pocas palabras, lo anterior hace que tu computadora sea un servidor local, donde podrás desarrollar y ejecutar tus aplicaciones antes de lanzarlas a producción.

    Local

    Este es un entorno de desarrollo enfocado específicamente para desarrolladores WordPress, ¿por qué? La respuesta es simple, si ya has desarrollado temas o plugins para WP, probablemente has perdido tiempo en estar copiando y pegando una instalación WP dentro de tu carpeta htdocs, poner usuario y contraseñas de la base de datos, etc. La típica configuración WordPress.

    Bien, el anterior problema, lo soluciona Local, ya que con unos simples clicks tienes listo una instalación limpia de WordPress, además de tener las siguientes funciones:

    1. Seleccionar la versión de PHP que tu WordPress ejecutará.
    2. Seleccionar el tipo de servidor web: Apache o nginx.
    3. Activar un certificado SSL de pruebas para tu sitio.
    4. Ejecutar un servidor de correo de pruebas.
    5. Crear un “Live Link”.
    6. Crear varias instalaciones WordPress.

    ¿Por qué dejé de usar MAMP, XAMPP y WAMP?

    Bueno, no es que usara los tres al mismo tiempo, pero llegué a probar cada uno (el último fue MAMP); y llegué a estas conclusiones:

    • Todos estos entornos de desarrollo, al final, tendían a ser muy lentos con WordPress.
    • El Apache llegaba a ocupar toda la capacidad de mi procesador (no, no tenía scripts PHP mal ejecutándose).
    • MySQL se me jodía a cada rato y tenía que ejecutarlo manualmente.

    Tal vez te haya pasado algo de lo anterior, y sabrás que es algo tedioso estar arreglando esos errores en vez de estar haciendo lo que más te gusta: “desarrollar/codear” tus temas, plugins para WordPress u otras aplicaciones.

    Todo lo anterior lo explica Francisco Aguilera en su video:

    Veredicto

    • Si eres de esos que no les preocupa estar arreglando errores en su entorno de desarrollo, puedes seguir usándolo, pero te recomendaría probar Local y comparar entre ellos.
    • ¿Ya te hartaste de esos errores de configuración?, Local es la solución perfecta para ti.
    • Si estás harto de estar configurando WordPress, entonces Local es igual la solución para ti.

    ¿Estás indeciso?, te invito a que lo pruebes y des tu propio veredicto en los comentarios. 🙂

  • WordPress Plugins: Lo que necesitas para desarrollarlos

    WordPress Plugins: Lo que necesitas para desarrollarlos

    Antes de preguntarte, “¿cómo le hago para desarrollar WordPress Plugins?”, en mi punto de vista, deberías preguntarte: “¿qué necesito para desarrollarlos?”.

    WordPress Plugins

    Estos aportan funcionalidad extra a nuestro WordPress, demasiada. Y hacen que nuestro WP tenga habilidades que creíamos que no se podían, y eso nos da mucho alivio y evita dolores de cabeza.

    Ya hace un año que empecé como desarrollador de plugins para WordPress, y aunque sigo aprendiendo nuevas cosas día con día, en cada plugin siempre es necesario saber las siguientes cosas, (y también para los temas):

    PHP

    PHP es un lenguaje de programación dedicado para la web en el lado del servidor (backend), con el puedes desarrollar infinidad de aplicaciones web y/o usarlo como una REST API. Todo WordPress está construido en PHP, tanto su núcleo como sus clases y funciones; por otra parte, el equipo de WordPress.com ha estado desarrollando una versión con Node.js y React.

    HTML y CSS

    Estas dos tecnologías son la base de cada página web que hay en Internet, creas o no, cada desarrollo web tiene algo de esto.

    HTML es el que aporta la estructura de nuestra aplicación y el CSS el que aportará los estilos necesarios para que nuestra página se vea bonita.

    ¿Usarás HTML y CSS dentro de tu plugin? Depende, si tu plugin lo necesita, adelante; por ejemplo, si un plugin necesita expandir unas tablas personalizadas que muestren las compras de unos usuarios, aquí si aplicaría.

    Si tu plugin no necesita ejecutar código HTML y CSS, entonces no es necesario agregarlo. Pero, si vas a desarrollar temas para WordPress, esto será tu pan de cada día.

    JavaScript

    JavaScript es otro lenguaje de programación, pero este se orienta más en el lado del cliente (frontend), en pocas palabras, es el que le dará la interacción a nuestra página; por ejemplo, darle interacción a un objeto de nuestra página al momento de dar click sobre otro objeto.

    Aunque, tal vez hayas visto o escuchado que WordPress utiliza mucho jQuery; ésta es una librería de JavaScript, y hace las cosas más sencillas al momento de trabajar con Vanilla JS (JavaScript puro), ya que transforma expresiones de JS a algo mucho más legible por el desarrollador.

    Si tu plugin no necesita ejecutar código JS, entonces no es necesario agregarlo.

    Hooks

    Los hooks son muy importantes en WordPress, éstas son líneas de código PHP que te ayudan a editar ó expandir un código ya existente, ya sea de las funciones de WordPress u otro plugin.

    Estos se dividen en dos: acciones y filtros.

    Las acciones te permiten agregar o cambiar cómo opera WordPress. Si estás esperando un resultado concreto de una función, puedes usar esto para agregar cosas nuevas a WordPress.

    Los filtros te dan la habilidad de cambiar datos durante la ejecución de WordPress; por ejemplo, si quieres agregar un atributo nuevo a una etiqueta <script>.

    Los hooks serán profundizados a detalle en otro post.

    WordPress APIs

    WordPress cuenta con distintas APIs para ejecutar funcionalidad en específica, por ejemplo:

    ¿Qué API usaríamos para crear una página de opciones de nuestro plugin? La respuesta es: Settings API y Options API.

    ¿Qué API usaríamos para crear shortcodes? La respuesta es: Shortcode API.

    Dale un vistazo a la variedad de APIs de WordPress: https://codex.wordpress.org/WordPress_APIs

    Paciencia y Constancia

    Todo esto no se aprende de la noche a la mañana, necesitas ser constante en tu aprendizaje y ser muy paciente por los resultados. Y estar probando, y probando y probando.


    Recursos

    A continuación, te dejo unos cuantos recursos para empezar a desarrollar plugins para WordPress:

    https://developer.wordpress.org/plugins/ (Plugin Developer Handbook – Lectura Obligatoria)

    https://carlalexander.ca/ (Desarrollo de plugins para WP usando PHP Orientado a Objetos, entre otros.)

    http://php.net/manual/es/ (Documentación oficial de PHP)

    https://developer.mozilla.org/es/docs/Web/JavaScript (Documentación de JavaScript, muy completa)

    Si tienes alguna duda en el desarrollo de tus plugins, no dudes en contactarme, lo resolveremos. 🙂

  • ¿Qué son las condiciones Yoda?

    ¿Qué son las condiciones Yoda?

    Como programadores, siempre escribimos condiciones día con día en nuestros archivos, no me dejarás mentir. Y es que esas condiciones, nos ayudan a ejecutar código específico en un punto de ejecución específico.

    ¡Nos han salvado más de una ocasión!

    Las condiciones Yoda

    Las condiciones Yoda son un estilo de programación, y consiste en invertir (mover a la derecha) la variable, constante ó función dentro de nuestra condición.

    Hagamos una comparación de igualdad de la variable $texto_inicial con la palabra “Yoda” con la estructura típica de una condición:

    if ( $texto_inicial == 'Yoda' ) {
        // Ejecuta el código.
    }

    Ahora, transformemos la condición anterior en una condición Yoda:

    if ( 'Yoda' == $texto_inicial ) {
        // Ejecuta el código.
    }

    ¿Notas la diferencia? Sólo tuvimos que mover la variable $texto_inicial a la derecha, y el valor a comparar (Yoda) a la izquierda.

    ¿Por qué usarlo?

    Fíjate en esto, ¿qué pasaría en la siguiente declaración?:

    if ( $texto_inicial = 'Yoda' ) {
        // Ejecuta el código.
    }

    ¿Notaste de que solo puse un signo igual (=) en vez de dos (==)?

    Bien, el código anterior no estaría comparando nada, si no que estaría asignando la palabra “Yoda” a la variable $texto_inicial. Esto no mostraría ni un error, pero si ejecutaría el cuerpo de la condición.

    Nosotros nos pondríamos felices de que el código está “funcionando”. Pero no, haciendo lo anterior, solo estamos provocando un mal funcionamiento de nuestro programa.

    Recuerda esto, los símbolos de:

    • Asignación, asigna valores.
    • Comparación, compara si dos valores son iguales.

    ¿Dónde aplicarlo?

    Debemos utilizar las condiciones Yoda en puras operaciones de igualdad, como:

    • Comparación de valores iguales (==).
    • Comparación de valores y tipos iguales (===).
    • Comparación de valores diferentes (!=).
    • Comparación de valores y tipos diferentes (!==).

    No intentes aplicarlo en operaciones relacionales, esto generaría un mal funcionamiento de tu programa (ya me ha pasado).

    Por último

    Estarás pensando, “pero Roel, yo sé que mi condición está bien porque estoy viendo lo que hago“.

    Y yo te digo:

    Los errores le ocurren incluso a los profesionales, es por eso que al menos debes saber de qué trata éste estilo de programación; eso, y para presumirle a tus amigos algo más sobre programación.

  • REVIEW: Teclado Razer BlackWidow Ultimate 2016

    REVIEW: Teclado Razer BlackWidow Ultimate 2016

    ¿Estás a punto de comprar un teclado mecánico y no te decides por cuál? Tal vez, este review del teclado Razer BlackWidow Ultimate 2016, que recién acabo de adquirir, te podría ser de utilidad.

    Para comprar éste teclado, no fue una decisión fácil, pasé como dos días viendo reviews, videos y más para al fin escoger el teclado que prácticamente se acomodaría a mis manos. El motivo por el cuál compré este teclado, es que unas teclas de mi MacBook Pro (Mid 2012) dejaron de funcionar, entonces pensé:

    Un teclado de membrana ya no me inspira confianza, optemos por un mecánico.

    Estaba decidiendo entre el teclado HyperX Alloy FPS ó BlackWidow Ultimate 2016, de Kingston y Razer, respectivamente. Y como fue, terminé comprando el de Razer.

    En fin, basta de historia y sigamos con el review.

    Teclado Razer BlackWidow Ultimate 2016


    ¿Qué hay en la caja?

    • 1 teclado Razer BlackWidow Ultimate 2016.
    • 1 manual de uso.
    • 2 stickers del logo de Razer.

    Idioma del teclado

    El teclado viene en inglés, pero también existe la versión en Español, que al parecer solo puede ser encontrado en España.

    El teclado

    De estética se ve increíble, además de verse resistente, se nota que el plástico del teclado es de buenísima calidad. Se siente cómodo al momento de presionar las teclas y sientes una gran diferencia al momento de escribir, a comparación de un teclado de membrana.

    Su cable de conexión es hecho de fibra trenzada, se siente bastante duradero, así que no sufrirás si alguien pisa el cable o lo jalen. El mismo cable tiene 3 conexiones para conectarse a la computadora:

    • Un puerto USB para alimentar de energía al teclado.
    • Un segundo puerto USB para alimentar de energía al puerto USB adicional que está a la derecha del teclado.
    • Un auxiliar de audio para habilitar la salida de audio que igual se encuentra a la derecha.

    Conexiones del Teclado BlackWidow Ultimate 2016

    Conexiones del Teclado. Foto: Roel Magdaleno.

    OJO! Para que funcione el teclado, no es necesario tener conectado los tres puertos, basta con conectar el USB que tiene el ícono del USB; el otro USB tiene escrito sobre él la palabra PORT, la cual es para el puerto adicional del teclado.

    Y como comentaba, a la derecha del teclado se encuentra un puerto USB para cargar tu teléfono ó lo que quieras, junto con una salida de audio.

    Puertos Adicionales del Teclado Razer BlackWidow Ultimate 2016

    Puertos Adicionales. Foto: Roel Magdaleno.

    El teclado es completamente retroiluminado, lamentablemente sólo es de color verde, el clásico color de Razer.

    RetroIluminación del Teclado Razer BlackWidow Ultimate 2016

    RetroIluminación del Teclado. Foto: Roel Magdaleno.

    Sin embargo, podemos jugar con los efectos de iluminación utilizando el programa de Razer: Synapse.

    Efectos de Iluminación

    Con el programa Razer Synapse, podemos cambiar el efecto de iluminación de éste teclado y la intensidad de brillo de los LEDs. Existen 5 efectos, los cuales puedes ver aquí abajo:

    Efecto Reactive del Teclado Razer BlackWidow Ultimate 2016Efecto Ripple del Teclado Razer BlackWidow Ultimate 2016
    Efecto Starlight del Teclado Razer BlackWidow Ultimate 2016Efecto Breathing del Teclado Razer BlackWidow Ultimate 2016

    Efecto Wave del Teclado Razer BlackWidow Ultimate 2016

     

     

     

     

     

    Existen otros dos, los cuales son: estático, donde el teclado mantiene los LEDs prendidos, y el otro es el ninguno, el cual mantiene los LEDs apagados.

    Las teclas / Tipo de switch

    El BlackWidow Ultimate 2016, utiliza unos switches de color verde, fabricados por Razer (antes los fabricaba otra empresa llamada Kailh, pero salieron defectuosos), a continuación te describo sus características:

    • El punto de regreso de cada tecla es de 0.4mm de distancia, a comparación de otros de 0.7mm. Esto quiere decir que las teclas regresan a su punto original muy rápido.
    • Solo se necesita 50g de fuerza para que una tecla sea activada.
    • El tiempo de vida de cada tecla es de 60 millones de pulsaciones, otros sólo llegan a 50 millones.

    Switches Verdes de Razer

    Switches Verdes de Razer. Foto: Roel Magdaleno.

    Y el sonido es tal cual como lo escuchas en el siguiente video:

    [youtube http://www.youtube.com/watch?v=MfQaH2jgll0]

    Si después de ver el video, no te ha gustado cómo suenan las teclas, entonces éste teclado no es para ti.

    Problemas que he notado

    No se si sea alguna configuración de mi computadora u otra cosa, pero cuando aprieto las teclas CTRL + <tecla>, la tecla CTRL se queda activa y tengo que apretar ESC para desactivarla. Si tienes este teclado, dime en los comentarios si no te ha pasado lo mismo.

    Teclado recomendado para…

    Si bien saben, la marca Razer es una marca de productos gaming, pero eso no implica que sólo lo usarán los gamers, no. Yo soy programador, y estoy muy satisfecho con este teclado, así que puedo recomendar este teclado a todas las personas; pero por otra parte, los que se sentirán más satisfechos serán los programadores, escritores y gamers para PC.

    Precios y dónde comprar

    Por suerte compré el teclado en fechas de promociones, y me salió relativamente barato. Los precios que encontrarás del teclado ronda entre $2,800.00 MXN ~ $3,500.00 MXN, y lo podrás comprar en: MercadoLibreCyberPuerta ó Amazon.


    Espero te haya gustado mi review, si sientes que le faltó algo o tienes alguna duda sobre éste teclado, deja abajo tu comentario. Lo apreciaré mucho.