<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mysql.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'mysqlinfo.terminology.php',
    1 => 'Visi&oacute;n general de la terminolog&iacute;a',
    2 => 'Visi&oacute;n general de la terminolog&iacute;a',
  ),
  'up' => 
  array (
    0 => 'mysql.php',
    1 => 'Visi&oacute;n general de los drivers PHP MySQL',
  ),
  'prev' => 
  array (
    0 => 'mysql.php',
    1 => 'Visi&oacute;n general de los drivers PHP MySQL',
  ),
  'next' => 
  array (
    0 => 'mysqlinfo.api.choosing.php',
    1 => 'Elegir una API',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/mysqlinfo/set.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysqlinfo.terminology" class="chapter">
   <h1 class="title">Visión general de la terminología</h1>

   <p class="simpara">
    Esta sección proporciona una introducción a las opciones disponibles
    al desarrollar una aplicación PHP que debe interactuar con
    una base de datos MySQL.
   </p>

   <p class="simpara">
    <strong>¿Qué es una API?</strong>
   </p>

   <p class="simpara">
    Una interfaz de programación de aplicaciones, o API, define las clases,
    los métodos, las funciones y las variables que su aplicación
    necesita para realizar las tareas deseadas. En el caso de las aplicaciones
    PHP que necesitan comunicarse con bases de datos, las APIs
    necesarias suelen exponerse a través de extensiones PHP.
   </p>

   <p class="simpara">
    Las APIs pueden ser procedimentales u orientadas a objetos. Con una API
    procedimental, se llaman funciones para realizar las tareas,
    con una API orientada a objetos, se instancian las clases, luego se
    llaman los métodos en los objetos resultantes. La segunda interfaz
    es generalmente preferida ya que es más moderna y permite
    organizar mejor el código fuente.
   </p>

   <p class="simpara">
    Al escribir aplicaciones PHP que necesitan conectarse
    a un servidor MySQL, hay varias opciones de API disponibles.
    Este documento abordará lo que está disponible, y cómo elegir
    la mejor solución para su aplicación.
   </p>

   <p class="simpara">
    <strong>¿Qué es un conector?</strong>
   </p>

   <p class="simpara">
    En la documentación de MySQL, el término <em>conector</em>
    se refiere a la parte del programa que permite a su aplicación
    conectarse al servidor de base de datos MySQL. MySQL proporciona
    conectores para muchos lenguajes, incluyendo PHP.
   </p>

   <p class="simpara">
    Si su aplicación PHP necesita comunicarse con un servidor
    de base de datos, debe escribir su código PHP para realizar
    tareas como conectarse al servidor de base de datos,
    consultar la base de datos y otras tareas relacionadas
    con la base de datos. El programa es requerido para proporcionar la API
    a utilizar por su aplicación PHP, pero también para gestionar
    la comunicación entre su aplicación y el servidor de base
    de datos, utilizando bibliotecas intermedias si es necesario. Este programa
    suele denominarse conector,
    ya que permite a su aplicación <em>conectarse</em>
    al servidor de base de datos.
   </p>

   <p class="simpara">
    <strong>¿Qué es un driver?</strong>
   </p>

   <p class="simpara">
    Un driver es una parte de programa cuyo objetivo es comunicarse
    con un tipo específico de servidor de base de datos. El driver
    también puede llamar a una biblioteca, como la biblioteca cliente MySQL o el driver nativo MySQL. Estas bibliotecas implementan
    el protocolo de bajo nivel utilizado para comunicarse con el servidor
    de base de datos MySQL.
   </p>

   <p class="simpara">
    Por ejemplo, la capa de abstracción de base de datos
    <a href="mysqli.overview.php#mysqli.overview.pdo" class="link">PHP Data Objects (PDO)</a> puede
    utilizar uno de los drivers específicos de base de datos. Uno de estos drivers
    disponibles es el driver PDO MYSQL, que proporciona una interfaz
    con el servidor MySQL.
   </p>

   <p class="simpara">
    A veces, las personas utilizan los términos conector y driver
    de manera intercambiable, lo que puede causar confusión. En la documentación
    de MySQL, el término <q class="quote">driver</q> se reserva al programa que
    proporciona la parte específica de la base de datos de un conector.
   </p>

   <p class="simpara">
    <strong>¿Qué es una extensión?</strong>
   </p>

   <p class="simpara">
    En la documentación de PHP, se encuentra otro término -
    <em>extensión</em>. El código PHP está compuesto
    por un núcleo, con extensiones opcionales que permiten
    extender las funcionalidades del núcleo. Las extensiones PHP relacionadas
    con bases de datos, como la extensión <code class="literal">mysqli</code>
    se implementan utilizando el framework de extensiones PHP.
   </p>

   <p class="simpara">
    Típicamente, una extensión expone una API al programador PHP, permitiéndole
    algunas facilidades durante la programación. Sin embargo,
    algunas extensiones que utilizan el framework de extensión PHP
    no exponen ninguna API al programador PHP.
   </p>

   <p class="simpara">
    La extensión driver PDO MySQL, por ejemplo, no expone ninguna API
    al programador PHP, pero proporciona una interfaz a la capa PDO.
   </p>

   <p class="simpara">
    Los términos API y extensión no deben considerarse como significando
    lo mismo, ya que una extensión no expone necesariamente una API al
    programador.
   </p>
  </div>
<?php manual_footer($setup); ?>