Advertisement
  1. Code
  2. WordPress

Programación Orientada a Objetos en WordPress: Tipos

Scroll to top
Read Time: 9 min
This post is part of a series called Object-Oriented Programming in WordPress.
Object-Oriented Programming in WordPress: Classes
Object-Oriented Programming in WordPress: Control Structures I

Spanish (Español) translation by Oscar Abad Folgueira (you can also view the original English article)

Para los que están empezando esta serie, tened en cuenta que estamos echando un vistazo a la programación orientada a objetos usando PHP dentro del contexto de WordPress.

A Quién Va Dirigido

Vamos a hacerlo desde la perspectiva del novato, por lo que si eres un desarrollador experimentado, o estás familiarizado con muchos de los aspectos de la programación orientada a objetos, probablemente esta serie no es para ti.

Dicho esto, si estás interesado en aprender programación orientada a objetos en PHP y te consideras un novato, entonces vamos a continuar este artículo de la serie hablando sobre algunos tipos de datos de que dispone PHP.

Pero primero, asegúrate de haber visto los artículos previos de esta serie ya que cada uno acumula lo del otro:

  1. Introducción
  2. Clases

Una vez que has visto esto, podemos empezar a hablar sobre los tipos.

¿Qué Son Los Tipos?

Terminamos el artículo anterior con lo siguiente:

Llegaremos a eso, pero antes tenemos que comentar algunos de los aspectos fundamentales de la programación com cadenas, arreglos, bucles y condicionales.

Ahora las cadenas, arreglos, etc... son lo que consideraremos tipos. Los bucles y condicionales son lo que denominaremos como estructuras de control que veremos en el próximo artículo.

Así que mientras tanto, vamos a llegar a un término sencillo para lo que representa un tipo de datos para que sepamos modelarlos conceptualmente e ir hacia adelante no sólo con este artículo sino con el resto de contenido de esta serie.

Para cualquiera que haya escrito cualquier código que incluye variables, entonces es probable que se parezca a lo siguiente: 

  • $name = 'Tuts+ WordPress';
  • $is_active = true;
  • $age = 42;
  • ...y así.

En la forma más básica, es probable que hayas oído definir el  código de arriba como variables con definiciones, y es correcto pero es una definición muy general.

Verás que cada vez que defines una variable en PHP, lo haces poniendo el prefijo $ antes de la variable. Esto permite saber a PHP que estás definiendo una variable, y que representará un valor típico.

Bastante fácil, ¿no?

La cosa es que hay diferentes tipos en PHP. Para aquellos que vienen de lo que se conoce como "lenguajes de tipos fuertes", vamos a hablar más de eso un momento, pero sabemos que PHP ofrece los siguientes tipos de datos:

  • booleanos
  • Enteros
  • números de coma flotante
  • cadenas
  • arreglos
  • objetos
  • ...y más

Cualquiera desde los booleanos (lógicos) hasta las cadenas pueden definir como tipos de datos simples mientras que los arreglos y los objetos pueden considerarse tipos de datos más complejos.

Tipos de Datos Simples

Los tipos de datos simples se definen como tales porque los datos que representan son simples. Es decir que normalmente será verdadero, falso, decimales, y palabras y/o sentencias.

Para dar ejemplos de cada uno de los anteriores:

  • Los valores booleanos (lógicos) almacenarán e valor true o false.
  • Enteros (integers) se refiere a los números enteros. Es decir que no incluye componentes fraccionales o decimales. Esto incluye números como -12, -2 1 100 5000 y más.
  • Los número de coma flotante son del tipo opuesto a los enteros porque estos representan valores con parte fraccional. Por ejemplo, puedes ver 3.1459, 2.5, 100.25 y así. Si vas a tratar de guardar el valor de, digamos 3/4, lo que se guarda realmente es .75 a menos que lo guardes como una cadena. Es decir, tienes que guardar '3/4'. ¿Te das cuenta de la ligera diferencia entre ambos? Uno tienes comillas y el otro no.
  • Hablando de cadenas, las cadenas representas cualquier palabra individual o un grupo de caracteres alfanuméricos que conforman una serie de de letras y números. Puede ser una única palabra, puede ser una sentencia, puede ser varias sentencias, y puede  ser una serie aleatoria de caracteres tal como una cadena cifrada. Como ejemplos de cadenas (strings) podemos incluir 'frases como esta' un una palabra 'palabra' o incluso algo más complejo como 'e952098vjdkw94kd'.

Aquí está el truco - cualquiera de los tipos de datos anteriores se puede convertir a cadena (string) poniéndolo entre comillas.

Pero Hay una Trampa

Por ejemplo, si fueras a trabajar con el valor booleano verdad (true) pero pero lo quieres guardar en una variable como esta: $is_active = 'true'; entonces estarás creando una variable de tipo cadena (string) que se lee true.

Igualmente, si quisieras escribir una cadena como esta: $age = '42'; entonces crearías una cadena (string) que contenta el número 42, no un entero.

¿Tiene sentido?

La razón de que esto sea así es porque lleva tiempo trabajar con estructuras de control - las cuales revisaremos en el próximo artículo - es que a veces, ejecutar una comparación puede tener consecuencias inesperadas si no estás seguro de con qué tipo de dato estás trabajando.

Tipos de Datos Compejos

Además de los tipos de datos simples, también tenemos tipos de datos complejos que en im opinion no son tan complicados. De hecho, pienso en él como una forma elegante de decir que tenemos formas de almacenar múltiples fragmentos de información en una sola variable; Considerando que, con tipos simples, tenemos una forma de almacenar piezas de información en una sola variable.

¿Bastante fácil de recordar, verdad? ¿Cuáles son algunos de los tipos de datos más complejos?

Los dos principales tipos de datos complejos en los que nos vamos a centrar esta serie son arrays y objetos. Hay más, pero están fuera del alcance de esta serie, así que si estás interesado, no dudes en echar un vistazo al manual de PHP te advierto: Si eres un principiante absoluto, el contenido puede ser un poco abrumador.

  • Los arrays son formas de almacenar múltiples fragmentos de información en una colección. Considera, por un momento, que tienes un conjunto de nombres que quires almacenar en una colección llamada $names. En PHP, debes definir una matriz y asignarla a una variable como esta: $names = ['John', 'Pablo', 'Ringo', 'George']; Nota que tenemos una matriz de cadenas, pero otro aspecto de los arrays PHP es que pueden contener múltiples tipos de datos. Lo que significa que puedes tener un array parecido a este $various_types = [42, TRUE, 'Star Wars',.007];. ¿Bastante guay, verdad?
  • Los arrays asociativos son sólo como los arrays estándar que hemos visto excepto que constan de pares de clave y valor. Esto significa que cada valor se recupera mediante una clave, si convertimos el primer array en un array asociativo debería parecerse a esto: array( 'rhythm-guitar' => 'John', 'bass' => 'Paul', 'lead-guitarist' => 'George', 'drums' => 'Ringo' ); Si es formato te parece raro, no te preocupes de momento. Hablaremos de esto con más detalle más tarde en esta serie. La forma básica en la que se indexan los arrays es numérica - esto es, 0, 1, 2, 3, y así - y los arrays asociativos se indexan por sus claves como 'rhythm-guitar', 'drums', y así sucesivamente
  • Los objetos, que hemos comentado antes, podría decirse que son los tipos de datos más complejos disponibles en PHP porque son una combinación de todo. Sus atributos se componen de tipos de datos u otros objetos, son funciones, y realizan operaciones no sólo en otros tipos de datos simples, sino en tipos de datos complejos también.

En cuanto a lo que compete a os objetos, la mejor manera de ver lo complejo pueden llegar a ser es verlos en acción, así estaremos seguros que cuando construimos un plugin.

Una Nota Sobre Arrays

En algunos lenguajes, el tamaño del array tiene que ser declarado antes de poder usarlo. Por ejemplo, en C, tienes que decirle al compilador que contentrá el array exactamente, es decir, 10 valores.

En el caso de PHP, este no es el caso. Los arrays en PHP son dinámicos lo que significa que puedes seguir añadiendo datos al array sin tener que incrementar su tamaño. Si, como con todo, no hay límites, pero generalmente está relacionado don el tamaño de los datos que se almacenarán, o la cantidad de memoria que tiene disponible una máquina.

¡No Dejes que las Frases te Intimiden!

Pero por el momento, no dejes que las palabras simple y complejo te intimiden. ¿"simple" es relativamente sencillo, verdad? Pero "complejo" tiene la connotación que va a ser más difícil de entender y esto no es cierto - espero que este artículo te lo demuestre.

Los tipos de datos complejos pueden simplemente alojar fragmentos de datos. Los tipos de datos simples no pueden.

¿Hay Más?

Si, hay. Los llamados recursos, callbacks y pseudo-tipos. La mayoría de estos están fuera del alcance de esta serie; sin embargo terminaremos usando callbacks (que son un tipo de funciones) después cuando empecemos a crear nuestro plugin.

Siéntete libre de leer sobre esto todo lo que te sea posible, pero entiende que están fuera del alcance del contenido que veremos a lo largo de esta serie en particular, por lo que si te sientes abrumado por ellas, quizá vuelve una vez que completes la serie.

Una Palabra Acerca de Lenguajes Fuertemente Tipados

Algunos lenguajes de programación se conocen como que son dinamicamente-tipados (o ligeramente-tipados) como otros son conocidos como fuertemente-tipados.

Este es otro caso en el que la terminología siempre intimida a los nuevos programadores en lugar de animarlos para saber cómo usar las herramientas que están disponibles, pero los factores que distinguen entre los dos son muy simples:

  • Los lenguajes fuertemente-tipados significa que las variables tienen que estar declaradas como un cierto tipo de datos y solo pueden alojar un cierto tipo de datos. Por ejemplo, si quieres alojar una cadena, declararé la varible como string sMyName; entonces, almacenaría una cadena en la variable. sMyName = 'Tom McFarlin';. Esto significa que la variable sMyName solo puede contener strings. Si intentas almacenar otro tipo de datos en esa variable, en compilador se lanzará un error.
  • Los lenguajes dinámicamente-tipados, como PHP, permiten que una variable contenga múltiples tipos en cualquier punto de la ejecución. Utilizando el ejemplo anterior, podría usar $my_name = 'Tom McFarlin'; como pude $my_name = false. Si tratas de almacenar otro tipo de datos en esa variable, funcionará correctamente. Puedes ver que esto tiene ventajas y desventajas.

¿Qué Será lo Siguiente?

Antes de que volvamos al mundo de la programación orientada a objetos, necesitamos hablar acerca de unas pocas estructuras básicas de programación como estructuras de control.

Estas incluyen cosas como bucles, condicionales, y aquello que puede impactar en el flujo del código en toda la vida del programa. Además, trabajan mano a mano con los tipos de datos que hemos visto aquí.

Por lo tanto, antes de meternos con el siguiente artículo, asegúrate de que revisas todo lo que hemos visto aquí, deja comentarios, preguntas y feedback en los comentarios.

¡Nos vemos en el siguiente artículo!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.