¿Qué es una variable de entorno?

Es un valor que se utiliza dentro del código de un programa para personalizar su comportamiento o acceder a información relevante.

Estas variables son especialmente útiles en archivos de configuración, donde permiten adaptar la aplicación a diferentes entornos sin necesidad de modificar el código fuente.

Podemos tomar como ejemplo los servicios de SW, donde cuando integramos, lo hacemos con el entorno de pruebas, pero en algún momento pasaremos a producción, entonces si hacemos un archivo de configuración donde asignamos dichas variables podemos cambiar de una manera muy sencilla de entorno, de pruebas a producción o viceversa y sin cambiar tantas líneas de código.

Ejemplo:

Archivo de configuración. Generamos un json para pruebas y otro para producción.

Archivo configPruebas.json
 
{
  "url": "services.test.sw.com.mx",
  "endpoint": "/cfdi33/stamp/v4",
  "token": "..."
}
 
Archivo configProduccion.json
 
 
{
  "url": "services.sw.com.mx",
  "endpoint": "/cfdi33/stamp/v4",
  "token": "..."
}

Si revisamos la petición ya podemos sustituir las variables. Utilizaremos PHP para esto.

 
< ? php
// Leer archivo de configuración
$config = json_decode(file_get_contents('configPruebas.json'), true);
 
// Variables de configuración
$url = $config [ ' url'];
$endpoint = $config [ ' endpoint'];
$token = $config [ ' token'];
 
// Ruta del archivo XML
$xmlFile = "/C:/Users/Admin/Documents/SW/Prueba.xml";
 
// Construir la URL completa
$requestUrl = $url . $endpoint;
 
// Inicializar cURL
$ch = curl_init();
 
// Establecer opciones de cURL
curl_setopt($ch, CURLOPT_URL, $requestUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  "Authorization: Bearer $token"
));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
  'xml' =&gt; new CURLFile($xmlFile)
));
 
// Ejecutar la solicitud
$response = curl_exec($ch);
 
// Verificar si hubo errores
if (curl_errno($ch)) {
  echo 'Error en la solicitud cURL: ' . curl_error($ch);
} else {
  // Procesar la respuesta
  echo $response;
}
 
// Cerrar la sesión cURL
curl_close($ch);
? > 

Si observamos el código, para cambiar de ambiente, solo debemos cambiar la siguiente línea:

// Leer archivo de configuración Pruebas
$config = json_decode(file_get_contents('configPruebas.json'), true);
 
 
// Leer archivo de configuración Producción
$config = json_decode(file_get_contents('configProduccion.json'), true);
 

Variables de entorno en el sistema operativo.

Una variable de entorno en un sistema operativo es una configuración global que define valores específicos para ciertos aspectos del sistema. Estas variables se utilizan para influir en el comportamiento de los programas y procesos que se ejecutan en el sistema.

Las variables de entorno pueden contener información como rutas de búsqueda de archivos, configuraciones de idioma, ubicaciones de bibliotecas, ajustes de seguridad, entre otros. Son utilizadas por el sistema operativo y las aplicaciones para acceder a información relevante y adaptar su comportamiento en consecuencia.

Algunos lenguajes como Java, Python, C y C++ trabajan con variables de entorno desde el sistema operativo.

Las variables de entorno son buenas prácticas.

Otro beneficio importante es que el uso de variables de entorno facilita la colaboración en proyectos, ya que cada desarrollador puede tener su propia configuración personalizada sin afectar al código base. Además, al utilizar variables de entorno, se fomenta una separación clara entre la lógica del programa y su configuración, lo que facilita el mantenimiento y la escalabilidad.

En conclusión, las variables de entorno en la programación son valores que se utilizan en el código para personalizar el comportamiento de una aplicación y acceder a información relevante. Su uso en archivos de configuración permite una mayor flexibilidad y adaptabilidad del código, facilitando la portabilidad, la seguridad y la colaboración en proyectos. Al sustituir valores codificados en el código por variables de entorno, se logra un código más modular y mantenible.


En SW® somos mejores para TI, es por ello que tu opinión es muy importantepor favor ayúdanos calificando este articulo y dejando tus comentarios.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Updated on septiembre 29, 2023

Related Articles