# data[].attributes.attachment_link.readable_text
PHP y JavaScript son lenguajes de scripting que los desarrolladores web usan frecuentemente. Pero cada uno tiene sus propios matices y casos de uso.

En este post, exploraremos las diferencias entre los dos, y cuándo debe usarse cada lenguaje en los proyectos de desarrollo.

Empecemos por repasar cómo se crearon estas lenguas.

PHP vs. JavaScript: Orígenes

PHP es un lenguaje de código abierto creado en 1995 por Rasmus Lerdorf. El nombre proviene de "Personal Home Page Tools" - un conjunto de scripts utilizados por Rasmus para rastrear las visitas a su sitio.

Con el lanzamiento de PHP 3.0, el lenguaje obtuvo un acrónimo inverso: PHP: Hypertext Preprocessor (Preprocesador de Hipertexto). Ahora se conoce simplemente como PHP.

JavaScript fue creado en 1995 por Brendan Eich de Netscape para llevar la interactividad a la Web. Conocido originalmente como Mocha, el nombre fue cambiado a LiveScript, y más tarde a JavaScript para aprovechar la popularidad del lenguaje Java.

Hoy en día, JavaScript se conoce oficialmente como ECMAScript, pero JavaScript es como la mayoría de la gente todavía lo llama.

Así que, ambos lenguajes han existido por algún tiempo.

Ahora veremos algunas de sus otras similitudes.

Similitudes Entre PHP y JavaScript

Tipo de lenguaje

PHP y JavaScript son ambos lenguajes de scripting. Esto es opuesto a los lenguajes de programación "puros" como Java o C++.

Los lenguajes de scripting tienden a ser interpretados más que compilados. Esto significa que se traducen en código de máquina a través de un intermediario en lugar de hacerlo directamente. Esto tiene un impacto en su tiempo de ejecución.

Piénsalo de esta manera: imagina que quieres traducir una página web de tu idioma nativo al Navajo. Si no conoces el idioma navajo necesitarías un intérprete para ayudarte, y la traducción tardaría más tiempo.

Por eso los lenguajes compilados tienden a ser más rápidos que los interpretados.

Tipificación de las Variables

Otro punto en común es que PHP y JavaScript están débilmente tipados.

Esto significa que cuando se crea una variable en cualquiera de los dos lenguajes, no tienes que asignar su tipo de datos: se asume.

Por lo tanto, puedes escribir lo siguiente en PHP:

$x = 'Hello world'; $y = 'Bonjour le monde';

O en JavaScript:

var x = 'Coding is fun'; let y = 'No, honestly';

En ambos lenguajes, estas variables se reconocerán como cadenas (conjuntos de caracteres).

Esto es lo opuesto a un lenguaje fuertemente tipado como Java, donde debes decir qué tipo de variable estás usando cuando la declaras:

Tanto PHP como JavaScript se escriben dinámicamente: en otras palabras, puedes cambiar el tipo fácilmente redefiniéndolo en tu código:

En PHP, $x es ahora un número entero.

En JavaScript, x es ahora un número.

Debido a que los tipos no están definidos explícitamente en PHP o JavaScript, necesitas funciones que te digan con qué tipo de datos estás trabajando.

JavaScript tiene la función typeof para hacer esto.

PHP tiene la función gettype para devolver el tipo de una variable. Una nueva y mejorada versión de gettype, get_debug_type, forma parte del lanzamiento de PHP 8.

Clases y Objetos

Ni PHP ni JavaScript fueron originalmente orientados a objetos. La orientación a objetos se añadió a ellos a medida que los lenguajes evolucionaron.

La capacidad de crear objetos y clases llegó con PHP 5, en 2004.

El JavaScript no usó objetos o clases hasta mucho más tarde. Se introdujeron en el lenguaje en 2015, con la introducción de ES6.

Una clase es una agrupación genérica de objetos.

Un objeto es una entidad con propiedades (características) y métodos (comportamientos).

El juego Dungeon and Dragons (D&D) proporciona una buena analogía.

Un personaje del jugador corresponde a un objeto. Cada personaje pertenece a una clase de personaje, como un bárbaro, un pícaro o un mago.

Los objetos pueden tener cualquier número de propiedades que quieras definir.

Por lo tanto, las propiedades de un personaje pueden incluir:

nombre

raza

habilidades (Fuerza, Inteligencia, Sabiduría, Destreza, Constitución y Carisma)

tipo de personalidad (por ejemplo, audaz, tímida, curiosa)

alineamiento (legal, caótico, bueno, malo)

Puedes utilizar métodos de objetos para recuperar información sobre el objeto.

Aquí tienes un ejemplo de código PHP de una definición de clase y objeto:

 <?php class Sorcerer { // Define properties public $name; public $race; public $intelligence; // Constructor function for the object // takes 3 arguments, name, race and intelligence function __construct($name, $race, $intelligence) { $this->name = $name; $this->race = $race; $this->intelligence = $intelligence; } # Define object methods // Get the name function get_name() { return $this->name; } // Get the race function get_race() { return $this->race; } // Get intelligence function get_intelligence() { return $this->intelligence; } } // end Sorcerer class // Create a Sorcerer $yensid = new Sorcerer("Yen Sid", "Human", 18); # Output the object properties in the browser echo $yensid->get_name(); echo "<br>"; echo $yensid->get_race(); echo "<br>"; echo 'Intelligence: '; echo $yensid->get_intelligence(); ?>

Cuando este código se añade a un archivo HTML, la salida en el navegador debe ser la siguiente:

Yen Sid

Humano

Inteligencia: 18

También se pueden definir métodos que son acciones que los objetos realizan o se han realizado en ellos.

En D&D, podrían serlo:

Cuando se ejecuta un método en un objeto, el resultado puede depender de las propiedades del objeto. Por lo tanto, un objeto aprendiz de hechicero no será capaz de lanzar hechizos tan eficazmente como un objeto de hechicero experimentado.

Demanda del Mercado

Otra cosa que PHP y JavaScript tienen en común es que los desarrolladores de ambos lenguajes tienen una gran demanda.

Los desarrolladores que usan JavaScript y PHP también están bien pagados.

En los EE.UU., ganan un promedio de alrededor de 80.000 dólares al año.

Documentación

Las menos buenas noticias para los recién llegados a PHP o JavaScript es que la documentación oficial para ambos lenguajes no es muy fácil de usar. Han sido escritos para desarrolladores experimentados más que para principiantes.

Puedes consultar la documentación de cada lenguaje aquí:

El profesor de JavaScript Chris Ferdinandi lamenta la falta de una buena documentación de JavaScript, diciendo que fue una de las razones por las que le llevó tanto tiempo dominar el lenguaje.

En este punto, podrías preguntarte, "¿Cuál es la diferencia entre PHP vs. JavaScript?" En realidad, hay varias.

¿Cuáles Son las Diferencias Entre PHP y JavaScript?

Scripting del Lado del Servidor vs. del Lado del Cliente

PHP es un lenguaje de scripting del lado del servidor. Esto significa que se ejecuta en el servidor web en lugar de en una máquina cliente.

La programación del lado del servidor es útil para entregar contenido dinámico (típicamente de una base de datos) a los usuarios, como un mensaje de bienvenida ("¡Hola, Claire!") cuando un usuario se conecta.

Más en serio, los scriptings del lado del servidor se usan en el comercio electrónico. Por ejemplo, hay más de 100 extensiones de WooCommerce que se conectan a través de API (Interfaz de Programación de Aplicaciones) a diferentes proveedores de pago para procesar las transacciones.

El JavaScript es un lenguaje del lado del cliente, por lo que se ejecuta en el portátil, teléfono o tableta de un usuario.

JavaScript puede manipular el DOM, que significa Document Object Model (Modelo de Objetos del Documento), y se podría pensar en él como una estructura de árbol formada por el HTML de una página web.

Si alguna vez te has encontrado con un acordeón o un interruptor, quizás como parte de un plugin de preguntas frecuentes, has visto el JavaScript del lado del cliente en acción. Cuando haces clic o tocas una pregunta, los manejadores de eventos de JavaScript activan o desactivan las propiedades de visibilidad o visualización del CSS, mostrando u ocultando la respuesta relevante.

Frontend vs. Backend

PHP se ejecuta en el backend de un sitio web - ¡la parte que los visitantes no pueden ver! En WordPress, esto significa que PHP hace todo su trabajo en el servidor web y en el administrador de WordPress.

Tradicionalmente, JavaScript se ejecutaba en el frontend, pero eso cambió en 2009 cuando se lanzó Node.js, un tiempo de ejecución del backend. Hoy en día JavaScript es realmente un lenguaje de pila completa.

Combinación con Otros Lenguajes

Con PHP como lenguaje de backend, es parte de la pila LAMP (Linux, Apache, MySQL, PHP).

PHP puede fusionarse con HTML. Lo verás examinando el código de muchas aplicaciones web, incluyendo WordPress.

Aquí tienes un ejemplo del archivo index.php del tema Twenty Twenty:

Sin embargo, si mezclas PHP con otros lenguajes de backend en aplicaciones web es más difícil mantenerlos. Además, no solo tienes que saber PHP, ¡tienes que estudiar y ser competente en esos otros lenguajes también!

Los desarrolladores de JavaScript tienen un poco más de libertad para escribir su código. Pueden usar el lenguaje con HTML, XML y Ajax.

Sensibilidad a Mayúsculas y Minúsculas

La distinción entre mayúsculas y minúsculas al nombrar entidades en el lenguaje es una cuestión de sensibilidad a las mayúsculas y minúsculas.

PHP es parcialmente sensible a las mayúsculas y minúsculas. Las mayúsculas y minúsculas importan para algunas cosas y no para otras.

Las variables PHP son sensibles a las mayúsculas y minúsculas.

Así que si creas una variable en PHP:

$dog = "chihuahua";

y tratas de obtener el valor de $DOG más tarde en tu código, no funcionará.

Las funciones PHP, sin embargo, no distinguen entre mayúsculas y minúsculas.

Si creas esta función en PHP:

function dogFetch() { // your code to run when the function is called }

y más tarde llamas a DogFetch() en tu código, tu función seguirá funcionando.

Sin embargo, no es una buena práctica de codificación, ya que es inconsistente.

El JavaScript, por otro lado, es completamente sensible a las mayúsculas y minúsculas. Así que las variables llamadas beagle, BEAGLE y Beagle serían todas distintas entre sí.

Sintaxis

La sintaxis es el conjunto de reglas que rigen un lenguaje. Esto incluye el orden de las palabras, la gramática y la puntuación.

En español, podríamos decir:

Comí mi sopa lentamente.

Pero si fueras Yoda, dirías esto:

Mi sopa la comí lentamente.

¿Por qué? La sintaxis es diferente. Las mismas palabras, diferente orden.

Algunos idiomas usan palabras que parecen iguales, pero que tienen un significado diferente.

Mientras que los humanos perdonan si usamos la palabra equivocada, los ordenadores son muy literales. Si cometemos un error en nuestra sintaxis de programación, un ordenador a menudo no sabe lo que queremos decir, lo que normalmente resulta en un error.

Con JavaScript y PHP, ambos tienen la misma sintaxis de doble barra inclinada para comentarios de código de una sola línea:

// This is a comment

Pero PHP también tiene otra forma de sintaxis de comentarios:

# This is a comment

Si intentas usar la sintaxis de comentarios de PHP en JavaScript, obtienes un error:

# This is a Comment Uncaught SyntaxError: private fields are not currently supported

Otros errores de sintaxis son comunes tanto en JavaScript como en PHP, como por ejemplo:

Falta un punto y coma (;) al final de una línea de código.

No usar un par de corchetes rizados {} para las declaraciones condicionales.

Definiciones Variables y Constantes

Como vimos antes, JavaScript y PHP tienen diferentes formas de declarar las variables.

También definen las constantes de manera diferente.

JavaScript utiliza esta sintaxis:

Para una simple constante como esta, su valor no puede ser cambiado más tarde.

Mientras que PHP usa la función define() para las constantes.

Por convención, las constantes PHP se escriben en mayúsculas. Un ejemplo es:

define('MONSTER', 'Sulley');

Los dos primeros parámetros entre paréntesis se explican por sí solos.

El tercero, insensible a las mayúsculas y minúsculas, tiene un valor por defecto de falso. Solo si se establece en true la constante será insensible a mayúsculas y minúsculas.

Es decir:

define('MONSTER', 'Sulley', true);

Matrices

Las matrices son variables que pueden almacenar más de una cosa.

En PHP, las matrices son matrices asociativas o mapas ordenados. Es decir, los elementos de la matriz tienen pares de claves y valores relacionados

<?php $array( key => value, key2 => value2, ... )

Un ejemplo menos abstracto es el siguiente, donde la clave es un nombre y el valor el apellido.

<?php $array = array( "Frodo" => "Baggins", "Sam" => "Gamgee", "Merry" => "Brandybuck", "Pippin" => "Took", );

Para facilitar su uso, puedes convertir los objetos PHP en matrices, y convertir las matrices en objetos.

Sin embargo, JavaScript solo puede tener matrices que tengan índices numerados. Por ejemplo:

var mountains = [ "Everest", "Kilimanjaro", "Fuji" ];

Para recuperar un valor hay que hacer referencia al índice de la matriz, que empieza en 0.

var mountain = mountains[1];

Las matrices asociativas con sus índices nombrados no están soportadas en JavaScript.

Integración en las Bases de Datos

Una cosa que PHP puede hacer brillantemente es conectarse a las bases de datos. PHP se integra particularmente bien con MySQL o MariaDB, ambos usados por WordPress. Un número de marcos de trabajo PHP también proporcionan una fácil integración de bases de datos.

El uso de una base de datos es útil para buscar, clasificar y filtrar información para presentarla a un usuario, como los productos de una tienda en línea.

Históricamente, JavaScript no se integra con las bases de datos, aunque eso está empezando a cambiar.

PouchDB es un ejemplo de una base de datos JavaScript.

Hilo de Rosca

El enhebrado se refiere a las instrucciones que un lenguaje de programación puede manejar.

PHP es multi-hilo, lo que significa que puede procesar múltiples instrucciones en paralelo.

Converse es un lenguaje de un solo hilo como JavaScript, que solo puede manejar un comando a la vez.

Para ilustrar el enhebrado, el desarrollador Samim Yaquby utiliza la analogía de una cafetería que sirve a los clientes.

Para una pequeña cafetería con un solo barista, es más fácil y eficiente para el barista servir a los clientes con pedidos más simples primero, uno a la vez. Esto se asemeja a un solo hilo de JavaScript.

Por el contrario, un gran Starbucks probablemente tendría varios baristas cumpliendo las mismas órdenes simultáneamente. Esto se hace eco del enfoque multi-hilo de PHP.

Velocidad

En general, JavaScript se ejecuta más rápido que PHP en el mismo hardware. Sin embargo, debido a que JavaScript se ejecuta en la máquina del cliente, si la máquina del cliente es vieja y lenta, eso tendrá un efecto en el tiempo de ejecución.

La velocidad de PHP ha mejorado a pasos agigantados desde el lanzamiento de PHP 7, gracias a un nuevo motor que duplicó el rendimiento y mejoró el consumo de memoria. Comparado con PHP 5.6, PHP 7.0 puede manejar más del doble de peticiones, y el rendimiento ha mejorado aún más con cada versión 7.x.

PHP también funciona mejor que JavaScript cuando se construyen aplicaciones en tiempo real, como chatbots o juegos.

Se espera que el lanzamiento de PHP 8 con el Just In Time Compiler (Compilador Justo a Tiempo) haga que PHP sea aún más rápido.

Gerentes de Paquetes

Cada lenguaje tiene su propio gestor de paquetes para administrarlos: módulos de código reutilizables de terceros que añaden funcionalidad extra a un proyecto. Algunos paquetes dependen de otros para ser ejecutados, por lo que se denominan dependencias.

PHP tiene dos gestores de paquetes, PEAR y Composer, que pueden descargar los paquetes de PHP en el repositorio Packagist.

JavaScript tiene varios administradores de paquetes bien conocidos, incluyendo npm, Yarn, y Bower.

De estos, el npm es el más popular, con más de 11 millones de desarrolladores que lo utilizan a nivel mundial.

Uso en la Web

PHP es el lenguaje del lado del servidor más usado en la web hoy en día, fácilmente superando a su competencia con casi el 80% de los sitios web que lo usan.

Mientras que PHP es muy popular, JavaScript es casi omnipresente en los sitios web, con el 97% de los sitios web que lo usan.

¿Para Qué Se Usa el PHP?

PHP tiene un amplio rango de usos.

Probablemente es más conocido por crear páginas web dinámicas. Según BuiltWith, PHP es usado por más de 34 millones de sitios web, y alimenta algunos de los sitios más conocidos y de mayor ganancia en la Web, incluyendo Nike, Salesforce y Walmart.

PHP es perfecto si tu proyecto necesita una autentificación segura de los usuarios. Esto incluye manejo de cookies y sesiones, autentificación de nombre de usuario y contraseña, y autentificación de dos factores.

Como hemos mencionado anteriormente, PHP es bueno para trabajar con bases de datos porque puede interactuar con una amplia gama de ellas. También tiene incorporada la seguridad de los datos para manejar la entrada del usuario, para protegerse contra amenazas como los ataques de inyección SQL.

PHP también se utiliza frecuentemente para construir aplicaciones en tiempo real como la mensajería instantánea.

Finalmente, aunque hagas la mayor parte de tu trabajo en el frontend, necesitarás un backend de servidor. PHP es una opción ideal, ya que fue creado para esto.

¿Para Qué Se Usa el JavaScript?

JavaScript se ha vuelto tan popular que tal vez la pregunta correcta es, "¿Para qué no se usa JavaScript?"

Aparte de los sitios web y las aplicaciones web, se ha utilizado JavaScript para construir todo lo siguiente:

Aplicaciones para móviles

Servidores web

Juegos

Cubiertas de deslizamiento

Chatbots

...e incluso los drones programables

¿Se Puede Usar JavaScript con PHP?

La respuesta es sí, absolutamente.

Un ejemplo común es el de los formularios web, en los que es útil validar los datos introducidos por el usuario antes de guardarlos en una base de datos.

Puedes usar JavaScript para la validación del lado del cliente, por ejemplo, para comprobar que un correo electrónico está en el formato correcto. A continuación, puedes utilizar PHP para la validación del lado del servidor, por ejemplo, para comprobar que el correo electrónico existe en tu base de datos.

Cómo WordPress Utiliza JavaScript y PHP

Tradicionalmente, WordPress ha usado ambos lenguajes, pero mucho más PHP que JavaScript. Esto ha empezado a cambiar con la introducción del editor de Gutenberg.

En el State of the Word de Matt Mullenweg en el WordCamp US en 2015, dio una idea de la importancia que iba a tener JavaScript al instar a la audiencia a

"Aprender el JavaScript, profundamente".

Tal y como están las cosas, así es como se usan ambos lenguajes en WordPress.

PHP se utiliza para los archivos de plantillas de temas, el bucle, la autenticación, la validación y el acceso a la base de datos.

JavaScript potencia la interactividad de los temas y los plugins, la validación del lado del cliente y el manejo de los eventos. Lo más notable es que se requiere cierto conocimiento de JavaScript para el desarrollo de bloques, ya que los bloques dependen del marco de trabajo de React JS.

Aprender PHP vs. JavaScript

Como son bastante fáciles de aprender, no hay razón para que no puedas aprender tanto PHP como JavaScript.

Los dos lenguajes se basan en ciertos fundamentos de programación, como variables, bucles, declaraciones condicionales, alcance y objetos.

Debido a que es un lenguaje tan bien establecido y popular, es fácil aprender PHP.

Como PHP es un lenguaje del lado del servidor, necesitas un servidor para escribir código. Podría ser un servidor web real, o una emulación de uno, como un entorno de desarrollo local. Algunos ejemplos son DevKinsta, XAMPP, WAMP o MAMP.

Puedes empezar a aprender JavaScript fácilmente practicando en la consola del navegador.

En el navegador Chrome, puedes acceder a la consola a través del atajo Control+Shift+J en Windows, o Comando+Opción+J en Mac.

Donde el JavaScript se hace más difícil de dominar es en el tamaño de su ecosistema.

El lenguaje JavaScript se ha expandido desde el JavaScript de vainilla a una plétora de marcos de trabajo. Angular, Vue, jQuery, y Reactar son solo algunos de los muchos que existen ahora.

Un buen recurso para principiantes viene de MDN Web Docs en su documentación de JavaScript.

Chris Ferdinandi, que se ha hecho un nombre por sí mismo educando a la gente en JavaScript de vainilla, dice que JavaScript solo comenzó a ganar sentido para él después de aprender jQuery.

Su consejo para los novatos de JS es el siguiente:

"No te obsesiones con el orden en el que debes aprender las cosas. No pierdas el tiempo tratando de elegir la cosa perfecta, porque no hay ninguna cosa perfecta."

Solo hay que tener en cuenta el síndrome del objeto brillante con los marcos de JavaScript sin entender primero los fundamentos de HTML y CSS. El HTML es la base de todo en la web, y puede romperse mucho si es mal manejado por un desarrollador de JavaScript demasiado entusiasta.

PHP vs. JavaScript - Tabla de Comparación

Scripting del lado del servidor

Scripting del lado del cliente

Usado en backend

Usado en el frontend (ahora con Node.js)

Solo se combina con HTML

Se combina con múltiples lenguajes

Parcialmente sensible a las mayúsculas y minúsculas

Completamente sensible a las mayúsculas y minúsculas

Diferencias de sintaxis, por ejemplo, el # está permitido para los comentarios

Diferencias de sintaxis, por ejemplo, el # no está permitido para los comentarios

Las variables declaradas con el prefijo $

Las variables declaradas con var o let las palabras clave

Tiene conjuntos asociativos

No tiene conjuntos asociativos

Se integra con muchas bases de datos

Apoyo deficiente o inexistente de la base de datos

Rápido con PHP 7.0 o superior

Normalmente es más rápido que el PHP

Utiliza los gestores de paquetes PEAR y Composer

Utiliza npm, hilo y gestores de paquetes de Bower

Rápido de ejecutar si la versión de PHP es > 7.x

Generalmente más rápido que PHP

Utilizado en alrededor del 80% de los sitios web

Utilizado en casi todos los sitios web

Resumen

En esta inmersión profunda en PHP vs. JavaScript, no hay realmente un ganador. Ambos tienen sus fortalezas y debilidades.

PHP es estable y fiable, mientras que JavaScript se ha convertido en el chico guay del bloque. Pero eso no significa que uno sea mejor que el otro.

Cualquiera que elijas para tu próximo proyecto, ¡y eso podría ser ambos! - si te tomas el tiempo de entender el lenguaje, puedes estar seguro de que construirás un sitio web o una aplicación que deleitará a tus usuarios.

Consigue todas tus aplicaciones, bases de datos, and Sitios de WordPress online y bajo un mismo techo. Nuestra plataforma en la nube de alto rendimiento y repleta de funciones incluye:

Fácil configuración y gestión en el panel de MyKinsta

Soporte experto 24/7

El mejor hardware y red de Google Cloud Platform, con tecnología Kubernetes para una escalabilidad máxima

Una integración de Cloudflare a nivel empresarial para mayor velocidad y seguridad

Alcance de audiencia global con hasta 35 centros de datos y 260 PoPs en todo el mundo

Empieza con una prueba gratuita de nuestro Alojamiento de Aplicaciones o Alojamiento de Bases de Datos. Explora nuestros %planes o habla con el departamento de ventas para encontrar el que mejor se adapte a ti.

# data[].attributes.attachment_link.title
PHP vs. JavaScript: Una Comparación En Profundidad de los Dos Lenguajes de Scripting

# data[].attributes.attachment_link.description
¿Cuáles son las principales diferencias entre PHP y JavaScript? ¡Considera que los dos lenguajes difieren entre sí!

# data[].attributes.attachment_link.title
Qué es una variable | Ejemplo de variable con JavaScript

# data[].attributes.body
Editor de Código

# data[].attributes.attachment_link.title
Visual Studio Code - Code Editing. Redefined

# data[].attributes.attachment_link.description
Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

# data[].attributes.attachment_link.readable_text
Consultando valores

Muchas veces vamos a tener estructuras más complejas de objetos y nosotros vamos a tener que acordarnos de todos los conceptos que hemos vimos hasta ahora.

Copia y pega esto en tu archivo JS

Consultemos por consola los siguientes valores:

1. Consulta el valor ("Super Hero Squad") de la propiedad squadName.

2. Consulta el valor que dice "Madame Uppercut" (ayuda: 3. objeto- propiedad-arreglo-propiedad).

3. Consulta el valor que dice "Superhuman reflexes".

4. Consulta el valor "39" de la propiedad age de Madame Uppercut.

Ver el ejercicio

# data[].attributes.attachment_link.title
Ejercicios de practica de JS- María Eugenia Costa

# data[].attributes.attachment_link.description
Hola bienvenid@ a mi pagina de práctica de JavaScript, soy María Eugenia Costa, Desarrolladora Full Stack

# data[].attributes.attachment_link.readable_text
2.8. Ejercicios resueltos

Ya hemos visto muy superficialmente cómo es el lenguaje PHP y cómo se puede acceder desde él a una base de datos externa para almacenar o recuperar información de ella. Ahora nos queda poner eso en práctica antes de poder profundizar más en el desarrollo de aplicaciones web complejas.

En esta sección vamos a mostrar algunos ejemplos sencillos de aplicaciones web muy, muy básicas programadas con PHP. La última de ellas incluye un acceso a una base de datos.

Mira con detenimiento el código y asegúrate de comprenderlo. Para empezar a programar con PHP, no hay nada mejor que echar un vistazo a algunos programas fáciles que luego puedas utilizar como plantilla para los tuyos.

Eso sí, es imprescindible que, después, dediques un tiempo a tratar de escribir tú mismo/a tus propios programas sencillos. Al final de esta sección te propondremos algunos, aunque tú puedes cambiarlos por otros que te apetezcan más. Lo importante es que recuerdes siempre algo que parece obvio pero que, a menudo, la gente olvida: a programar solo puede aprenderse programando.

2.8.1. Tabla de multiplicar

Vamos a escribir un programa en PHP que pida un número al usuario y muestre su tabla de multiplicar hasta el 25 en una tabla HTML de 5 por 5 casillas.

El usuario escribirá el número en un formulario HTML.

Solución 1: con dos archivos fuente

Esta primera solución la vamos a plantear con dos archivos:

index.php: contendrá el formulario en el que vamos a pedir al usuario que escriba un número. En el action del formulario, pondremos el nombre del segundo archivo para enviarle el número.

tabla.php: recibirá el número escrito en el formulario y calculará la tabla de multiplicar, escribiendo la salida en formato HTML.

ARCHIVO index.php ARCHIVO tabla.php
Solución 2: con un solo archivo

Vamos a mejorar la solución anterior uniendo todo el código en un solo archivo, que podemos llamar index.php.

Eso signfica que, ahora, en el action del formulario, escribiremos index.php, de modo que, al pulsar submit, el número se enviará al mismo programa. Es decir, index.php se ejecutará dos veces: una para mostrar el formulario y otra para calcular la tabla de multiplicar.

Observa como se usa la función isset() para averiguar en cuál de esas dos ejecuciones estamos. Esta función recibe como parámetro una variable y nos dice si esa variable existe o, por el contrario, si no ha sido declarada ni inicializada aún.

2.8.2. Juego del número secreto

Vamos a escribir una aplicación web en PHP para jugar al juego del número secreto.

Es un juego clásico que consiste en lo siguiente: el ordenador elegirá un número al azar entre 1 y 100 y el jugador tendrá que averiguarlo. Cada vez que el jugador haga un intento, la aplicación le indicará si el número secreto es mayor o menor que el número introducido.

Cuando el jugador por fin acierte, la aplicación le dará la enhorabuena y le indicará cuántos intentos ha necesitado para averiguar el número secreto.

Vamos a ver dos soluciones para este programa. En la primera, utilizaremos las variables de la URL para mantener vivos los datos del programa. En la segunda, utilizaremos variables de sesión para lograr el mismo efecto de forma mucho más limpia.

Juego del número secreto: solución sin variables de sesión

Este juego necesita que algunas variables, como el número secreto (variable $aleatorio) o el número de intentos (variable $intentos) persistan entre una solicitud al servidor y la siguiente.

Para lograrlo, haremos que el script se envíe a sí mismo el valor de esas variables en la última línea. Supondremos que el archivo se llama index.php.

Esta es una solución muy poco elegante, un estilo de programación de aplicaciones web que se dejó de usar hace años, pero que ilustra perfectamente cuál es el primer problema al que nos enfrentamos al desarrollar aplicaciones web: que se ejecutan en el servidor "a tirones", un trozo cada vez, y para el servidor cada uno de esos trozos es un programa independiente, aunque el usuario tenga la sensación de que forman una aplicación coherente.

Juego del número secreto: solución con variables de sesión

En esta solución, se ha sustituido la chapuza de las variables pasadas por URL por variables de sesión.

Aunque las veremos con más detalle en el siguiente tema, te puedo adelantar que las variables de sesión permiten almacenar datos persistentes entre sucesivas ejecuciones de scripts desde el mismo cliente.

Es decir, el servidor recuerda el valor de determinadas variables para que ese programa ejecutado a tirones se comporte como un todo unificado de cara al usuario.

Observa detenidamente cómo se usan las variables de sesión con PHP mediante el array global $_SESSION para obtener una solución más elegante que la anterior.

2.8.3. Biblioteca

Este es un caso práctico muy importante por dos razones:

1. Porque es nuestra primera aplicación web "de verdad", con una base de datos detrás.

2. Porque volveremos sobre ella varias veces a lo largo de las siguientes secciones para hacerle sucesivas mejoras, hasta dejarla presentable.

El código fuente es más largo, pero fácil de seguir. No te desesperes ni intentes leerlo en dos minutos para marcharte a hacer otra cosa. Tómatelo con calma, como si leer el código fuente fuera como leer un manual de instrucciones de un electrodoméstico nuevo que aún no tienes ni idea de cómo se usa.

Se trata de escribir una aplicación web en PHP que gestione, de forma muy simplificada, una biblioteca.

La aplicación trabajará con una base de datos compuesta de solo dos tablas (ya te dije que estaría muy simplificada): libros y autores.

Esta aplicación nos permitirá, en principio, ver la lista de todos los libros disponibles, así como dar de alta libros nuevos y modificar o borrar los libros existentes. De momento no trabajaremos con los autores, pero sería fácil extenderla para que también nos dejase hacer altas, bajas y modificaciones de los autores.

Al leer el código, observa cómo utilizamos una variable muy especial llamada para saber qué tiene que hacer la aplicación en cada momento. Esa variable es el germen de la arquitectura modelo-vista-controlador con la que trabajaremos una y otra vez más adelante.

```

# data[].attributes.attachment_link.description
Apuntes del módulo de "Desarrollo web en entorno servidor", de 2º curso del Ciclo Formativo de Grado Superior de "Desarrollo de Aplicaciones Web", impartido en el IES Celia Viñas de Almería (España)

# data[].attributes.attachment_link.description
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.