Actividad II php
El acrónimo recursivo, sin embargo, en la actualidad está vinculado a PHP Hypertext Pre-Processor. El lenguaje es desarrollado hoy en día por The PHP Group aunque carece de una normativa formal. La Free Software Foundation, por lo tanto, considera la licencia PHP como parte del software libre.
El lenguaje PHP suele procesarse directamente en el servidor aunque también puede usarse a través de software capaz de ejecutar comandos y para el desarrollo de otra clase de programas.
Si eres nuevo en esto, se les recomienda ampliamente que utilicen algo como XAMPP, que es un pequeño
programa que instala todo lo que necesitas:
2. MySQL
3. PHPMyAdmin
Y todo en apenas unos clics. Una vez hecho esto, colocas tu sitio en la carpeta "htdocs" que se crea en la instalación, y así podrás ver tus sitios dinámicos.
Para iniciarse en PHP se necesitan una serie de conceptos o ideas previas por una parte y una serie de herramientas por otra.En primer lugar, es necesario tener conocimientos básicos de HTML, ya que el PHP es un preprocesador de hipertexto (HTML por ejemplo), por lo que es básico tener nociones sobre HTML.
Por otra parte también es necesario tener, o ir adquiriendo nociones sobre programación, las cuáles compartirimos aquí en PHPnight en los próximos posts.
Por otra parte, las herramientas necesarias serían, tener el Paquete Apache + PHP + MySQL instalado en nuestra PC (para usarla de servidor de pruebas), o contar con un servidor con dichas características, un editor de texto (a continuación te sugeriremos algunos), un manejador de BBDD, algunos links útiles que te daremos y una rica y humeante taza de café… ;)
Para instalar el paquete Apache + PHP + MySQL, para windows, puedes descargarte e instalar WampServer2 (nueva versión del clasico Wamp5), el cuál ademas ya nos incluye phpMyAdmin y SQLiteManager como manejador de BBDD.
Como editores, quizá el más utilizado en windows sea DreamWeaver, aunque para PHP de nada nos sirve el entorno visual, por lo que con cualquier editor de código que coloree nuestro código bastaría. Algunas opciones libres para windos serían: NotePad++, NVU o PHP Expert Editor.
Para linux: Bluefish o gPHPEditor.
Aunque siempre puedes usar el notepad :p
Ahora, los links, algunas webs que te serán útiles en tus marcadores (o favoritos):
php.net (en ingles)
forosdelweb.com
php-hispano.net
phpnight.com y pixelar.me (que son mi pequeño granito de arena a la gran comunidad PHP hispana).
<html>
<head>
<title>Prueba de PHP</title>
</head>
<body>
<?php echo '<p>Hola Mundo</p>'; ?>
</body>
</html>
En PHP una variable se define de la siguiente manera:
-
$nombre_variable = 'valor';
Es obligatorio que el nombre de una variable se inicie con el caracter $, siendo éste el que le indica a PHP que estamos creando una variable. Tras el $, es obligatorio el uso de una letra o del símbolo _ (subrayado o guión bajo), los siguientes pueden ser letras, guiones bajos (_) o números. Es importante tener en cuenta que el nombre de las variables es “case sensitive” o lo que es lo mismo, sensible a mayúsculas, por lo que las siguientes dos variables son diferentes:
-
$nombre_variable = 'valor';
-
$Nombre_variable = 'otro valor';
Cuando se declara una variable, se le da un valor inicial. Éste valor inicial está englobado en uno de los posibles tipos que PHP contempla.
Las variables y los tipos.
En PHP existen 8 tipos, en la documentación oficial se explican al detalle, por lo que aquí sólo se resumirán:
- boolean: Este tipo tiene dos posibles valores: true (verdad) o false (falso).
- integer: Este tipo engloba los números enteros.
- float: Números con coma flotante… vamos los decimales de toda la vida.
- string: Cadenas de texto.
- array: Una matriz de datos.
- object: objectos. Es el resultado de instanciar una clase, algo que se verá cuando lleguemos a la programación orientada a objetos en PHP.
- resource: Hace referencia a un recurso externo. Los usamos mucho sin saberlo: cuando nos conectamos a una base de datos, cuando abrimos un fichero…
- NULL: Representa el vacío.
En lenguajes más estrictos que PHP, cuando se declara una variable es obligatorio incluir, antes de asignarle un valor, el tipo de la variable. De esta forma, si declaras una variable como boolean y luego intentas darle como valor una cadena de texto (string) se generaría un error. Es lo que se conoce como “tipado fuerte“. En el caso de PHP, a la hora de declarar la variable no se especifica el tipo, siendo el lenguaje quien asigna este tipo en función de su valor.
Esto es una ventaja a la hora de obtener flexibilidad, pero tiene sus inconvenientes. De hecho es una de las fuertes críticas que PHP recibió en el pasado… aunque en el maravilloso Python ocurre lo mismo
Además, en PHP también se permite que las variables cambien de tipo. Esto significa que podemos tener lo siguiente:
-
$variable = 'pepe';
-
$variable = TRUE;
Y no generará ningún error. Tras la primera declaración la variable será de tipo string, pero posteriormente cambiamos su valor por TRUE y PHP detecta el cambio de tipo a boolean. Esta característica de PHP dagran flexibilidad y rapidez a la hora de programar. Es muy común en PHP que cuando se hace alguna comprobación se retorne el valor en sí (del tipo que sea) o se retorna un FALSE (boolean). Esto no es posible en los lenguajes que no permiten el cambio dinámico de tipo. Por lo tanto, PHP no es un lenguaje de tipado fuerte, es un lenguaje de tipado débil. Al ser un lenguaje de tipado débil nos obliga a ser más estrictos en la documentación y con los estándares porque de no ser así en proyectos grandes y con diferentes programadores reinará el caos. Y, desafortunadamente, el caos reina mucho, pero mucho cuando hablamos de PHP.
Las constantes en PHP
Una constante es, como su propio indica, una expresión cuyo valor no puede ser modificado. Si en nuestra aplicación tenemos una información que se mantiene invariable utilizaremos las constantes en lugar de las variables.
Las constantes son muy utilizadas para definir rutas internas, datos de conexión a la base de datos, etc. Declararemos una constante de la siguiente manera:
-
define('_CONSTANTE', 'valor');
El nombre de la constante, al igual que el de las variables, permite letras, números y guiones bajos. Es case sensitive y el primer caracter debe ser una letra o un guión bajo. En el caso de las constantes no utilizamos $, en su lugar se utilizó la función define que proporciona PHP. Está bastante extendido declarar las constantes con un _ delante, aunque no es obligatorio.
Variables y constantes predefinidas en PHP
PHP proporciona una serie de variables y constantes que podemos utilizar en cualquier momento. Estas son las variables y constantes predefinidas. Es muy importante conocerlas, especialmente las variables ya que sólo deberíamos modificar una variable predefinida cuando realmente es lo que queremos.
Las funciones en PHP
Las funciones o functions, son porciones de código PHP “independientes”. Cuando creamos una aplicación, el código se estructura en función de clases (que veremos más adelante) o funciones.
Cuando se programa utilizando funciones se suele hablar de programación procedural, estructurada o spaguetti code. Cuando se programa utilizando clases, se habla de programación orientada a objetos.
Programar haciendo uso de funciones es el “old style” y desde las primeras versiones de PHP5, PHP ha dado el salto al desarrollo orientado a objetos, siendo a partir de PHP5.5 cuando ésta adquiere su mayor potencial. Nuestro proyecto será orientado a objetos, pero considero interesante e importante conocer el concepto de las funciones ya que aunque programemos orientado a objetos haremos uso de un sinfín de funciones que el propio lenguaje PHP proporciona.
Una función se declara de la siguiente manera:
-
function miFuncion() {
-
// el codigo de la function
-
}
Lo interesante del uso de las funciones es reciclar código. En nuestras aplicaciones prácticamente todo se repite y son las funciones (o las clases) las que nos permiten ahorrar muchas líneas de código y realizar cambios masivos editando una sola función.
Para hacer uso de una función sólo hay que llamarla:
Además, las funciones pueden recibir valores (parámetros) y retornar información. Para pasar los valores, sólo tenemos que declarar la función indicando entre los paréntesis las variables a utilizar separadas por comas. Para retornar información, se utilizará return.
Dividiendo nuestro hola mundo en funciones y variables
Vamos a coger nuestro sencillo hola mundo y aplicaremos el uso de funciones y variables. Recordamos que nuestro index.php tiene el siguiente código:
-
<!DOCTYPE html>
-
<html lang="es">
-
<head>
-
<meta charset="utf-8" />
-
<title><?php echo 'Hola Mundo!'; ?></title>
-
<link href='https://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>
-
<link rel="stylesheet" id="global-css" href="./style.css" type="text/css" media="all" />
-
</head>
-
<body>
-
<header>
-
<h1><?php echo 'Hola Mundo!'; ?></h1>
-
<!-- <nav>El menú si procediese</nav> --> <!-- Etiqueta comentada al no tener menú -->
-
</header>
-
<section>
-
<article>
-
<h2><?php echo 'Nuestra primera página PHP'; ?></h2>
-
<?php echo 'Nuestra primera página realizada en PHP con HTML5'; ?>
-
</article>
-
</section>
-
<aside>
-
<h3><?php echo 'Artículos relacionados';?></h3>
-
<ul>
-
<li><a href="//rolandocaldas.com/php/primera-toma-de-contacto-php-paso-a-paso" target="_blank"><?php echo 'Primera toma de contacto'; ?></a></li>
-
<li><a href="//rolandocaldas.com/php/html5-estructura-basica" target="_blank"><?php echo 'HTML5 estructura básica'; ?></a></li>
-
</ul>
-
</aside>
-
<footer>
-
<?php echo 'Creado por rolandocaldas.com'; ?>
-
</footer>
-
</body>
-
</html>
Bien, vamos a hacer lo siguiente:
- Crear unas variables con los textos que queremos imprimir.
- Encerraremos el código HTML en una function.
- Llamaremos a la function enviando como parámetros las variables con los textos.
- Nuestra function imprimirá por pantalla el contenido.
Crear unas variables con los textos que queremos imprimir
Bien, al inicio de nuestro index.php abrimos el PHP y creamos las variables con los textos que se imprimen por pantalla:
-
<?php
-
-
$aside_contenido = array(
-
'0' => array(
-
'link' => 'https://rolandocaldas.com/php/primera-toma-de-contacto-php-paso-a-paso',
-
'titulo' => 'Primera toma de contacto',
-
),
-
'1' => array(
-
'link' => 'https://rolandocaldas.com/php/html5-estructura-basica',
-
'titulo' => 'HTML5 estructura básica',
-
),
-
);
-
$aside_titulo = 'Artículos relacionados';
-
$descripcion = 'Nuestra primera página realizada en PHP con HTML5';
-
$pie = 'Creado por rolandocaldas.com';
-
$subtitulo = 'Nuestra primera página PHP';
-
$titulo = 'Hola mundo!';
-
?><!DOCTYPE html>
-
<html lang="es">
-
(...)
-
</html>
Hay dos cosas que pueden llamar tu atención:
- $aside_contenido: Esta variable está declarada como array, es el tipo matriz y permite eso, crear una matriz de datos. Es algo muy útil y muy utilizado en los lenguajes de programación, que se verá con detenimiento en futuros artículos.
- El orden de declaración: Las variables están declaradas por orden alfabético. Es una costumbre que estoy auto-imponiéndome, desde hace muy poco, a la hora de programar. Cuando un proyecto pasa por muchas manos (o simplemente pasan años desde la última vez que lo modificaste), el código suele ser “caótico” ya sea porque realmente lo es o porque tiene un orden “muy suyo”. Utilizar el criterio de orden alfabético es una forma totalmente objetiva de organizar el código y permite a cualquiera que coge el código saber por dónde debe ir a buscar. De hecho, IDE’s como el NetBeans tiene una “ventanita” donde lista el contenido de un fichero agrupado por tipo de contenido y dentro de mismo tipo, alfabético. Me parece una gran idea y, sobre todo en CSS, todos seríamos mucho más felices escribiendo así
Bueno, aunque ya tenemos las variables declaradas, no se están utilizando, por lo que deberemos ir a por el siguiente paso.
Encerraremos el código HTML en una function
Ahora, vamos a coger todo nuestro código HTML y meterlo dentro de una función, esta función recibirá como parámetros las variables declaradas y serán utilizadas en el HTML.
-
<?php
-
-
$aside_contenido = array(
-
'0' => array(
-
'link' => 'https://rolandocaldas.com/php/primera-toma-de-contacto-php-paso-a-paso',
-
'titulo' => 'Primera toma de contacto',
-
),
-
'1' => array(
-
'link' => 'https://rolandocaldas.com/php/html5-estructura-basica',
-
'titulo' => 'HTML5 estructura básica',
-
),
-
);
-
$aside_titulo = 'Artículos relacionados';
-
$descripcion = 'Nuestra primera página realizada en PHP con HTML5';
-
$pie = 'Creado por rolandocaldas.com';
-
$subtitulo = 'Nuestra primera página PHP';
-
$titulo = 'Hola mundo!';
-
-
function imprimir($aside_contenido, $aside_titulo, $descripcion, $pie, $subtitulo, $titulo) {
-
?>
-
<!DOCTYPE html>
-
<html lang="es">
-
<head>
-
<meta charset="utf-8" />
-
<title><?php echo $titulo; ?></title>
-
<link href='https://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>
-
<link rel="stylesheet" id="global-css" href="./style.css" type="text/css" media="all" />
-
</head>
-
<body>
-
<header>
-
<h1><?php echo $titulo; ?></h1>
-
<!-- <nav>El menú si procediese</nav> --> <!-- Etiqueta comentada al no tener menú -->
-
</header>
-
<section>
-
<article>
-
<h2><?php echo $subtitulo; ?></h2>
-
<?php echo $descripcion; ?>
-
</article>
-
</section>
-
<aside>
-
<h3><?php echo $aside_titulo; ?></h3>
-
<ul>
-
<li><a href="<?php echo $aside_contenido['0']['link']; ?>" target="_blank"><?php echo $aside_contenido['0']['titulo']; ?></a></li>
-
<li><a href="<?php echo $aside_contenido['1']['link']; ?>" target="_blank"><?php echo $aside_contenido['1']['titulo']; ?></a></li>
-
</ul>
-
</aside>
-
<footer>
-
<?php echo $pie; ?>
-
</footer>
-
</body>
-
</html>
-
<?php
-
}
Bueno, podemos ver cómo se pasan todas las variables por parámetros y se han colocado en su lugar correspondiente dentro del código HTML. Ahora bien, si accedemos al navegador veremos una página en blanco. Esto es así porque en ningún momento hemos llamado a la function imprimir.
Recuerda que una función es un trozo de código independiente, si nadie lo llama no se ejecuta.
Llamando a la función para imprimir el contenido
Para que nuestro hola mundo vuelva a mostrarse por pantalla, necesitamos llamar a la function imprimir. Como nuestra función no retorna contenido sino que lo imprime, bastará con llamarla, por lo que nuestro código quedará así:
-
<?php
-
-
$aside_contenido = array(
-
'0' => array(
-
'link' => 'https://rolandocaldas.com/php/primera-toma-de-contacto-php-paso-a-paso',
-
'titulo' => 'Primera toma de contacto',
-
),
-
'1' => array(
-
'link' => 'https://rolandocaldas.com/php/html5-estructura-basica',
-
'titulo' => 'HTML5 estructura básica',
-
),
-
);
-
$aside_titulo = 'Artículos relacionados';
-
$descripcion = 'Nuestra primera página realizada en PHP con HTML5';
-
$pie = 'Creado por rolandocaldas.com';
-
$subtitulo = 'Nuestra primera página PHP';
-
$titulo = 'Hola mundo!';
-
-
function imprimir($aside_contenido, $aside_titulo, $descripcion, $pie, $subtitulo, $titulo) {
-
?>
-
<!DOCTYPE html>
-
<html lang="es">
-
<head>
-
<meta charset="utf-8" />
-
<title><?php echo $titulo; ?></title>
-
<link href='https://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>
-
<link rel="stylesheet" id="global-css" href="./style.css" type="text/css" media="all" />
-
</head>
-
<body>
-
<header>
-
<h1><?php echo $titulo; ?></h1>
-
<!-- <nav>El menú si procediese</nav> --> <!-- Etiqueta comentada al no tener menú -->
-
</header>
-
<section>
-
<article>
-
<h2><?php echo $subtitulo; ?></h2>
-
<?php echo $descripcion; ?>
-
</article>
-
</section>
-
<aside>
-
<h3><?php echo $aside_titulo; ?></h3>
-
<ul>
-
<li><a href="<?php echo $aside_contenido['0']['link']; ?>" target="_blank"><?php echo $aside_contenido['0']['titulo']; ?></a></li>
-
<li><a href="<?php echo $aside_contenido['1']['link']; ?>" target="_blank"><?php echo $aside_contenido['1']['titulo']; ?></a></li>
-
</ul>
-
</aside>
-
<footer>
-
<?php echo $pie; ?>
-
</footer>
-
</body>
-
</html>
-
<?php
-
}
-
-
imprimir($aside_contenido, $aside_titulo, $descripcion, $pie, $subtitulo, $titulo);
Y con esto ya tenemos nuestro código con variables y funciones. Esto nos permitirá cambiar el contenido del texto de forma rápida, editando sólo su valor en la variable correspondiente.
operadores aritmeticos, relacionales, booleanos
Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false. En la primera columna de la tabla, se dan los símbolos de los operadores relacionales, el la segunda, el nombre de dichos operadores, y a continuación su significado mediante un ejemplo.
Operador | nombre | ejemplo | significado |
< | menor que | a<b | a es menor que b |
> | mayor que | a>b | a es mayor que b |
== | igual a | a==b | a es igual a b |
!= | no igual a | a!=b | a no es igual a b |
<= | menor que o igual a | a<=5 | a es menor que o igual a b |
>= | mayor que o igual a | a>=b | a es menor que o igual a b |
Se debe tener especial cuidado en no confundir el operador asignación con el operador relacional igual a. Las asignaciones se realizan con el símbolo =, las comparaciones con ==.
En el programa RelacionApp, se compara la variable i que guarda un 8, con un conjunto de valores, el resultado de la comparación es verdadero (true), o falso (false).
public class RelacionApp { public static void main(String[] args) { int x=8; int y=5; boolean compara=(x<y); System.out.println("x<y es "+compara); compara=(x>y); System.out.println("x>y es "+compara); compara=(x==y); System.out.println("x==y es "+compara); compara=(x!=y); System.out.println("x!=y es "+compara); compara=(x<=y); System.out.println("x<=y es "+compara); compara=(x>=y); System.out.println("x>=y es "+compara); } } |
Los operadores lógicos
Los operadores lógicos son:
- && AND (el resultado es verdadero si ambas expresiones son verdaderas)
- || OR (el resultado es verdadero si alguna expresión es verdadera)
- ! NOT (el resultado invierte la condición de la expresión)
AND y OR trabajan con dos operandos y retornan un valor lógico basadas en las denominadas tablas de verdad. El operador NOT actúa sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: "si hace sol Y tengo tiempo, iré a la playa", "si NO hace sol, me quedaré en casa", "si llueve O hace viento, iré al cine". Las tablas de verdad de los operadores AND, OR y NOT se muestran en las tablas siguientes
El operador lógico AND
x | y | resultado |
true | true | true |
true | false | false |
false | true | false |
false | false | false |
El operador lógico OR
x | y | resultado |
true | true | true |
true | false | true |
false | true | true |
false | false | false |
El operador lógico NOT
x | resultado |
true | false |
false | true |
Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la última columna de sus tablas de verdad. Por ejemplo:
(a<b) && (b<c)
es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es falso (false). En cambio, la expresión
(a<b) ||(b<c)
es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es falso.
La expresión " NO a es menor que b"
!(a<b)
es falsa si (a<b) es verdadero, y es verdadera si la comparación es falsa. Por tanto, el operador NOT actuando sobre (a<b) es equivalente a
(a>=b)
La expresión "NO a es igual a b"
!(a==b)
es verdadera si a es distinto de b, y es falsa si a es igual a b. Esta expresión es equivalente a
(a!=b)
leer todo en: https://pixelar.me/que-se-necesita-para-programar-php/
Lee todo en: Definición de PHP - Qué es, Significado y Concepto https://definicion.de/php/#ixzz3Ve0FD4Pa