Php

Php

PHP es un lenguaje de programación del lado del servidor, originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos.

El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo.

Su licencia es icompatible con la Licencia Pública Gneral de GNU debido a las restricciones del uso del término PHP, pero aun así sigue siendo open source para nosotros.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Introducción

Laravel es uno o el mas famoso framework de php en estos momentos, cuando un amigo me ofreció hacer un curso de express de 15 días, una hora, lo acepte, y aquí voy poniendo mis anotaciones.

Requerimiento para instalación Laravel.

Para instalar Laravel 8.x debes tener en cuenta los siguientes requerimientos.

- PHP >= 7.3
- Composer
- npm
- node.js

Adicional debes tener las siguientes librerías de PHP habilitadas..

- BCMath
- Ctype
- Fileinfo
- JSON
- Mbstring
- OpenSSL
- PDO
- Tokenizer
- XML

A parte debes tener activado en tu apache mod_rewrite

Instalación de Laravel

Instalación de Laravel  8 con composer:

composer create-project laravel/laravel <nombre_proyecto>

<nombre_proyecto> es el directorio donde va crear e instalar laravel. Donde crea toda la estructura de laravel, creando una carpeta public que será la que estará publica para el servidor.

 Estructura que deberíamos tener en nuestro proyecto.

estructura carpetas laravel

En el siguiente link explica como instalar Laravel 8 con bootstrap

Herramienta Artisan:

Herramienta que se utiliza desde terminal, desde la carpeta donde tenemos el proyecto, si queremos ver los comando de artisan :

php artisan --help

No lista los comandos que podemos utilizar.

Artisan:Key

Se utiliza para cuando levantas un proyecto en lavarel en servidor. Genera API_KEY en env.

Artisan:make

Con el siguiente ejemplo crea fichero migración,modelo y controlador con los métodos habituales.

php artisan make:model -c -m -r Factura

 

Artisan:migrate

Comando que nos crea las modificaciones en la base de datos que tengamos creadas /database/migrations y no tengamos aplicadas.

Para saber cuales están aplicadas o en que estado estamos podemos ejecutar:

php artisan migrate:status

Recomendamos ejecutar:

php artisan migrate --step

Este comando ejecuta uno a uno los ficheros migrate, con lo que nos da opción a ir atrás uno a uno, con :

php artisan migrate:rollback

 El oficial manual de migrate en laravel 8 está muy completo. Ver manual

Artisan:serve

Una herramienta muy util para no tener tocar mucho la configuración del apache, es el servidor que nos proporciona que podemos inicializando desde una terminal con:

php artisan serve

A ese servidor desde un navegador poniendo la url localhost:8000 , ya nos mostraría el proyecto.

Recuerda que el servidor estará activo mientras mantengas la terminal abierta.

Eloquent es ORM que utiliza Laravel

Definicion de ORM en programación:

Un ORM es un modelo de programación que permite mapear las estructuras de una base de datos relacional (SQL Server, Oracle, MySQL, etc.), en adelante RDBMS (Relational Database Management System), sobre una estructura lógica de entidades con el objeto de simplificar y acelerar el desarrollo de nuestras aplicaciones.

ELOQUENT ORM es el que utliza Laravel, se puede utilizar fuera de Laravel, aunque no es lo habitual, aquí solo nos vamos centrar en utilizarlo en Laravel.

Documentación de laravel de eloquent

Pregustas que va surgiendo:

¿ Que sucede si cambiamos el nombre de la carpeta donde instalamos laravel?

 En principio no pasa nada en laravel, lo unico si tiene una ruta asignada en apache2 tendras que cambiarla.

 

fuentes

Buenas Practicas Laravel en español.

Explicación como instalar laravel 8 en español

https://laravel.com/docs/8.x/installation

Schema de columnas para crea migrate

Explicación de estructura carpetas laravel.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Jugando arrays

Jugando con funciones que nos facilita Php para interactuar con arrays: mezclar, sumar , diferencias y buscar datos en varios array.

Principal 
Array ( [nombre] => Ricardo [apellido] => Carpintero [apellido2] => Carpintero [anhos] => 51 [ciudad] => Vigo [estado] => Casado )
Secundario 
Array ( [nombre] => Ricardo [apellido] => Dominguez [apellido2] => Gil [anhos] => 49 [ciudad] => Vigo [hijos] => 4 )

La idea es jugar con estos arrays para obtener combinaciones, diferencias y iguales

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

PHPMailer es una biblioteca de php para enviar correos electrónicos de forma segura y fácil a través de un código PHP desde un servidor web..

Estas son algunas de las funciones que trae son:

  • Envíos a varios remitentes, con CC, CCO, etc.
  • Soporta 8bits, base64 y binarios
  • Autenticación por SMTP en puertos 25 sin encriptar, 587 TLS, 465 SSL
  • Envíos con HTML
  • Envíos de emails con adjuntos
  • Inclusión de imágenes en el correo, etc
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Xdebug es una extensión de PHP que proporciona capacidades de depuración y creación de perfiles. Utiliza el protocolo de depuración DBGp. La información de depuración que Xdebug nos proporciona puede ser:

  • La pila de memoria que utiliza y los mensajes de error con:
    • Visualización completa de parametros para funciones definidas por el usuario.
    • Nombre de función , nombre archivo e indicaciones de linea.
    • Soporte para funciones miembro.
  • Asignación de memoria.
  • Protección para recursiones infinitas.
  • Información de perfil del script PHP
  • Análisis de cobertura del código.
  • Capacidad de depurar sus scripts interactivamente con un front-end de depurador.

Una vez instalado y activado recuerda que debes reiniciar el servidor, puede ser con:

systemctl restart apache2

¿ Activar Xdebug ?

Muy similar como activar en versiones distinta de php.

phpenmod xdebug

¿Desactivar Xdebug?

phpdismod xdebug
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El tratamiento de (string) en todo lenguaje es necesario , por ello el conocimiento de los comandos o funciones que podemos utilizar es fundamental.

COMANDO O FUNCIONES DE PHP PARA TRATAMIENTO DE TEXTO

Los comandos mas comunes de php que los programadores

rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string

chr — Devuelve un caracter específico 

strrpos — Encuentra la posición de la última aparición de un substring en un string

substr — Devuelve parte de una cadena

strpos() - Encuentra la posición de la primera ocurrencia de un substring en un string

stripos() - Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas

strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string

strrchr() - Encuentra la última aparición de un caracter en un string

substr_replace — Reemplaza el texto dentro de una porción de un string

str_getcsv — Convierte un string con formato CSV a un array

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

La intención de este post es saber cuantas versiones tenemos de php en nuestro servidor apache y como cambiarlas según las necesidades.

Nuestro técnico de sistema nos preparo el servidor local para poder utilizar cualquiera de estas versiones php:

  • php 5.6
  • php 7.0
  • php 7.1
  • php 7.2

Lo primeros saber que versiones tenemos instaladas de nuestra maquina. Una forma comoda sería:

ls etc/php 

En nuestro equipo nos aparece el listado de las distintas versiones que tenemos instaladas.

Esto es útil para poder testear webs en distintas versiones de php, ya que muchas veces los servidores que tienen nuestros clientes no siempre tienen la utlima version de php.

Lo primero que hay que saber es que version tienes ahora activa:

  • Viendo phpinfo()-> Te lo indica...
  • Con ls /etc/apache2/mods-enabled/php* nos indicara que versiones tenemos activas :-)

Para activar una version lo hacemos con a2enmod, por ejemplo queremos activar php5.6 con:

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Ambas son funciones de php.

Require es idéntico a include excepto que en caso de fallo producirá un error fatal de nivel E_COMPILE_ERROR. En otras palabras, éste detiene el script mientras que include sólo emitirá una advertencia (E_WARNING) lo cual permite continuar el script.

Ver mas información en php.net ( Require ) ( Include )