Si ha estado rastreando con nosotros a lo largo de esta serie, sin duda sabrá que estamos considerando los conceptos de programación orientada a objetos desde la perspectiva del principiante..
Específicamente, estamos analizando el tema para aquellos que desean familiarizarse con el paradigma, pero también con la forma de aplicar los conceptos dentro del contexto de WordPress; Sin embargo, antes de entrar en el trabajo. con Programación orientada a objetos y WordPress, tenemos que sentar las bases utilizando las características básicas que proporciona PHP..
En última instancia, estamos trabajando para crear un ejemplo práctico de programación orientada a objetos mediante la creación de un complemento de WordPress. Pero antes de hacerlo, hay algunas cosas más que debemos discutir..
Si es la primera vez que lee esta serie, le recomendamos que consulte los artículos anteriores, ya que cada uno de los artículos de esta serie se basa en el anterior. Si, por otro lado, eres alguien que está más familiarizado con la programación orientada a objetos, entonces es posible que desees volver a visitar la serie una vez que estemos en la aplicación práctica de las ideas..
Hasta este punto, hemos cubierto los siguientes temas.
En este artículo, vamos a concluir nuestra discusión sobre las estructuras de control al observar los diversos tipos de bucles que ofrece PHP..
Si ha leído el artículo anterior, entonces recuerda que las "estructuras de control" se refieren a construcciones proporcionadas por el lenguaje (en nuestro caso, PHP) que nos permiten modificar la forma en que se aplica el código en todo el programa en función de una serie de condiciones..
En el último artículo, analizamos cómo podemos hacerlo mediante el uso de sentencias condicionales que son sentencias que forzarán al programa a seguir una ruta de ejecución basada en un condicional (como si se establece una variable, si una condición es verdadera). , y así).
Pero ese no es el único tipo de control que tenemos. Además de los condicionales, tenemos la capacidad de iterar (o hacer un ciclo) a través de conjuntos de datos para que podamos tomar medidas sobre cada elemento en un conjunto de datos. Podemos agregar datos, eliminar datos, mostrar datos, ordenar los datos y mucho más.
Por ejemplo, supongamos que tenemos un conjunto de datos, tal vez un conjunto de 10 publicaciones, y que queremos recorrer e imprimir el título y la fecha de cada publicación. Los bucles nos permiten hacer esto..
Independientemente de lo que desee hacer, existen cuatro tipos de bucles que ofrece PHP que nos permiten recorrer conjuntos de datos. En este artículo, vamos a ver ejemplos de cada uno, así como algunos matices de cada uno, de modo que tenemos otro conjunto de estructuras de control que podemos usar cuando llegue el momento de comenzar a escribir código orientado a objetos..
para
Bucleslos para
a menudo se considera que el bucle es el más complicado de los bucles debido a la naturaleza de cómo se escribe el código. El flujo de ella se lee un poco antinatural.
Por lo general, estamos acostumbrados a escribir código línea por línea, de manera que cada instrucción se establece en una sola línea; sin embargo, con para
Loops, tenemos un enfoque ligeramente diferente. Primero, compartiré un ejemplo básico, cubriremos los aspectos del mismo y luego veremos un enfoque más detallado..
Aquí hay un ejemplo básico que contará hasta 10 y mostrará cada número en la pantalla a medida que lo hace:
para ($ i = 0; $ i < 10; $i++ ) echo $i;
En la primera línea del bucle (dentro de los paréntesis después de la para
declaración), estamos haciendo lo siguiente:
$ i
y estableciéndolo igual a cero$ i < 10
$ i
por el valor de 1 (usando el operador post-incremento) después de cada iteraciónEn el cuerpo del bucle, simplemente estamos usando PHP's eco
función para imprimir el valor actual de $ i
. A medida que el bucle procesa las instrucciones, veremos de 0 a 9 impresos en la pantalla (ya que estamos empezando en cero y corriendo mientras $ i
es menor que 10).
Diferentes personas tienen diferentes técnicas para leer el código, por lo que la estrategia que voy a recomendar puede que no sea la mejor para usted, pero cuando leo estos tipos de bucles, normalmente los leo así:
Con $ i comenzando en cero, y mientras $ i es menor que 10, ejecuta el cuerpo del bucle, luego incrementa $ i en 1.
El problema es que $ i
puede comenzar en cualquier valor, puede contar hasta una cantidad arbitraria y puede incrementarse en cualquier valor.
Cuanto más trabajo hacemos con para
bucles, es más probable que detecte algunas cosas que pueden optimizar el rendimiento. Por ahora, sin embargo, se han cubierto los conceptos básicos del bucle for y las técnicas avanzadas están un poco fuera del alcance de este artículo en particular..
para cada
Buclespara cada
Los bucles son similares a los de los bucles, ya que se repiten en un conjunto de datos, pero lo hacen de forma secuencial. Esto significa que no hay una manera fácil de recorrer cada, por ejemplo, dos elementos en una lista (como pueda con, por ejemplo,, $ i + 2
en para
bucles).
Este tipo de bucle es posiblemente el más legible. Para nuestro ejemplo, supongamos que tenemos una matriz y la matriz de datos contiene los siguientes nombres: Alpha, Bravo, Charlie, Delta, Echo y Foxtrot. El nombre de la matriz se almacena en una variable llamada $ nombres
.
En este caso, podemos configurar una para cada
recorre para recorrer los nombres y mostrar cada uno de ellos en la pantalla de esta manera:
$ names = array ('Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot'); foreach ($ nombres como $ nombre) echo $ nombre;
Bastante fácil de instalar, ¿no es así??
Así como compartimos una forma de leer el inicial. para
en la sección anterior, puede leer el para cada
bucle de la siguiente manera:
Para cada nombre en la colección de nombres, visualícelo en la pantalla.
O, quizás más en general:
Para cada elemento de la colección, visualícelo en la pantalla..
Hay otro aspecto en el para cada
bucle que podemos cubrir con más detalle más adelante en la serie, pero la idea principal es que si está familiarizado con la matriz asociativa, es decir, las matrices que están indexadas con una clave y que tienen un valor asociado, puede configurar una para cada
bucle para recuperar cada clave y valor para cada iteración del bucle.
Por ejemplo, digamos que tenemos la siguiente matriz asociativa:
$ heroes = array ('alien' => 'Superman', 'human' => 'Batman');
Al utilizar una matriz asociativa como esta, también puede configurar un para cada
bucle de esta manera:
foreach ($ heroes como $ type => $ name) echo $ name. ' es un ' . $ tipo;
Esto resultará en la lectura de algo como "Superman es un extraterrestre" porque "Superman" es el valor y "alien" es su tipo (o su clave).
La forma más genérica de este bucle es la siguiente:
foreach ($ collection as $ key => value) // El trabajo va aquí
Nada terriblemente complicado.
mientras
BuclesCon las variaciones de la para
Bucles cubiertos, es hora de dirigir nuestra atención a mientras
Bucles de los cuales hay dos variaciones (aunque se llaman algo diferente: mientras
bucles y hacer
bucles), pero difieren sólo en una forma menor.
Pero antes de ver cómo difieren, echemos un vistazo a la mientras
bucle, su formato básico, cómo usarlo y cómo se compara con el anterior para
bucles.
Primero, el formato básico de un mientras
bucle es el siguiente:
while (condición) // funciona
Tenga en cuenta que este bucle difiere de nuestros bucles anteriores en que acepta un condicional como parte de la declaración inicial (de ahí la razón por la que cubrimos los condicionales en nuestro último artículo).
El bucle funciona primero verificando si la condición es verdadera, ejecutando el bloque de código en el cuerpo del bucle y luego revisando la condición nuevamente. Esto significa que mientras
los bucles pueden hacer alguna unidad de trabajo siempre que la condición especificada se evalúe como verdadera.
Entonces, claro, puedes recorrer una lista de números, recorrer una colección de datos, pero también puedes hacer ciertas cosas mientras, digamos, un valor booleano sigue siendo cierto. Y una vez que la bandera llegue a falso, el bucle while terminará.
Veamos un ejemplo en el que estamos extrayendo elementos de una matriz. Supongamos que la matriz inicial tiene 100 elementos y que haremos esto hasta que la matriz tenga 50 elementos restantes:
while (50! == count ($ elements)) array_pop ($ elements);
Aquí, la condición continuará evaluándose como verdadera hasta que el número de los elementos en el $ elementos
matriz se ha reducido a 50 artículos.
Como hemos hecho con los bucles anteriores, esta es una forma en que puedes leer un mientras
lazo:
Mientras esta condición es verdadera, ejecuta el siguiente código.
Por supuesto, eso es lo que parece en el código de todos modos, ¿no es así??
hacer
BuclesFinalmente, hacer
los bucles son casi exactamente me gusta mientras
bucles, excepto que se repetirán al menos una vez antes de verificar la condición.
Antes de echar un vistazo a un ejemplo, aquí está la estructura básica de la hacer
lazo:
do // do work while (condicion);
Relativamente claro, a la derecha.?
Entonces, configuremos un ejemplo muy básico que nos hace crear una matriz y poblarla con números pares solamente. Para ello, necesitamos:
Dicho esto, uno puede configurar el código para que se vea así:
$ i = 1; $ even_numbers = array (); do if (0 === ($ i% 2)) $ even_numbers [] = $ i; $ i ++; while ($ i <= 100 );
Y finalmente, como con el resto de los bucles, puedes leer estos tipos de bucles de la siguiente manera:
Realice el siguiente bloque de trabajo, luego verifique si la siguiente condición es verdadera. Si es así, sigue haciendo el trabajo..
Cuando se trata de hacer
bucles, si está trabajando con una colección, desea asegurarse de que la colección es no Vacíe antes de trabajar en él porque ejecutará el código en el bloque del bucle antes de verificar si la condición es verdadera. Esto puede producir errores si intenta trabajar en un conjunto de datos que está vacío.
Por supuesto, si eso es lo que planea hacer, entonces uno de los otros bucles está mejor optimizado para ese tipo de operación.
Uso único hacer
realiza un bucle cuando tiene un conjunto de datos o va a ejecutar un procedimiento que saber debe ejecutarse al menos una vez antes de verificar la condición que dicta el número de ejecuciones que deben realizarse.
Con esto cubierto, hemos presentado todo lo que necesitamos hacer para comenzar a analizar las funciones, los atributos, el alcance y otros aspectos básicos de la programación orientada a objetos..
.