Página 2 de 2

Como instalar composer en windows

En este artículo veremos como instalar composer en windows, como usarlo y finalmente descargaremos un framework php con composer, ¿pero que es composer?

Composer es un gestor de paquetes a nivel de aplicación para el lenguaje de programación PHP que proporciona un formato estándar para gestionar las dependencias del software PHP y las bibliotecas requeridas
https://en.wikipedia.org/wiki/Composer_(software)

Composer es una herramienta para la administración de dependencias en PHP. Te permite declarar las bibliotecas de las que depende su proyecto y administrarlas, composer las instalará y las actualizará. https://getcomposer.org/doc/00-intro.md

Podemos usar composer de dos formas, de forma global instalándolo en nuestro pc con el instalador Composer-Setup.exe o de forma local descargandonos un archivo llamado composer.phar. En este articulo vamos a ver como usar composer de forma local con composer.phar. Nos vamos a https://getcomposer.org/download/ y en la sección Manual Dowload nos descargamos la ultima versión de archivo composer.phar, en el momento de escribir este articulo la 1.6.5

Creamos una carpeta en el escritorio y ponemos el archivo composer.phar descargado:

Composer.phar se ejecuta con php, para esto necesitamos tener el php.exe como variable de entorno, abrimos la consola, escribimos php:

Si la consola se nos queda esperando que escribamos algo todo va bien, en cambio si nos dice:

«php» no se reconoce como un cmomando interno o externo, programa o archivo por lotes ejecutable

No podemos seguir y tenemos que configurar nuestras variables de entorno.

Ahora (estando en el directorio donde tenemos el archivo composer.phar) ejecutamos el comando: php composer.phar

Si nos sale esta pantalla es que todo va bien. Ahora solo tenemos que ejecutar el comando composer que queramos, por ejemplo vamos a descargar slim framework (https://www.slimframework.com) con composer, y ejecutamos:

php composer.phar require slim/slim "^3.0"

Composer comenzará a descargar slim framework

Como conectarse a mysql desde php

Php nos da varias opciones para poder conectarnos a mysql, son las siguientes:

  • La extensión MySQL, obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0 (no usar)
  • La extensión MySQLi (la que usaremos en este ejemplo)
  • PDO (capa abstracta que permite realizar conexiones a varias bases de datos)
  • Otras: DBA, dbx, ODBC.

ATENCIÓN: Si utilizas la función mysql_connect() para conectarte a mysql estas usando código obsoleto, intenta en la medida de lo posible actualizarte

En este ejemplo vamos a utilizar la extensión MySQLi, ahora debemos escoger si utilizamos el estilo orientado a objetos o el estilo por procedimientos, dos formas de hacer lo mismo pero con pequeñas diferencias de sintaxis.

$mysqli = new mysqli('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd'); // Estilo orientado a objetos
$enlace = mysqli_connect('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd'); // Estilo por procedimientos

Por potencia y comodidad recomiendo el estilo orientado a objetos que va a ser la forma que seguiremos en este artículo.

A continuación un código de ejemplo para realizar la conexión a una base de datos mysql explicado con comentarios.

$host = 'localhost'; // La dirección de la base de datos, puede ser o un nombre de host o una dirección IP
$username = 'root'; // El usuario de la base de datos
$passwd = 'root'; // La contraseña del usuario
$dbname = 'demo'; // El esquema predeterminado para realizar las consultas

// Realizamos la conexión
$conexion = new mysqli($host, $username, $passwd, $dbname);
// Controlamos que la conexión no tenga errores
if($conexion->connect_error) { 
   error_log("Error de conexion a mysql: nº: $conexion->connect_errno, Error: $conexion->connect_error");
   throw new ErrorException("Error de conexion a mysql: nº: $conexion->connect_errno, Error: $conexion->connect_error");
}
// Especificamos el charset de la conexión, muy importante para que se vean correctamente todos los caracteres 
$conexion->set_charset("utf8");

// Ejecutamos una select en la base de datos
$resultadoSelect = $conexion->query("SELECT * FROM usuarios");
// Recorremos las filas 
while ($fila = $resultadoSelect->fetch_assoc()) {
   var_dump($fila); // Pintamos una fila
}

Warning: mysqli::mysqli(): Access denied for user

ERROR

Warning: mysqli::mysqli(): (HY000/1045): Access denied for user ‘admin’@’localhost’ (using password: YES) in C:\xampp\htdocs\mysql\index.php on line 2

CAUSA

El usuario no existe en la base de datos, o la contraseña del usuario indicado es incorrecta.

SOLUCIÓN

Especificar correctamente el username y el passwd en el constructor de la clase mysqli