<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mongodb.architecture.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'mongodb.overview.php',
    1 => 'Arquitetura',
    2 => 'Vis&atilde;o geral da arquitetura',
  ),
  'up' => 
  array (
    0 => 'mongodb.architecture.php',
    1 => 'Arquitetura do driver e componentes internos',
  ),
  'prev' => 
  array (
    0 => 'mongodb.architecture.php',
    1 => 'Arquitetura do driver e componentes internos',
  ),
  'next' => 
  array (
    0 => 'mongodb.connection-handling.php',
    1 => 'Conex&otilde;es',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/mongodb/architecture.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mongodb.overview" class="section">
  
  <h2 class="title">Visão geral da arquitetura</h2>

  <p class="para">
   Este artigo explica como todos os diferentes componentes do driver PHP se
   encaixam, desde as bibliotecas básicas do sistema, passando pela extensão, até as bibliotecas
   PHP superiores.
  </p>

  <p class="para">
   <div class="mediaobject">
    
    <div class="imageobject">
     <img src="images/f3bc48edf40d5e3e09a166c7fadc7efb-driver_arch.svg" alt="
     Diagrama de arquitetura do driver MongoDB PHP. O nível mais baixo do driver são
     nossas bibliotecas de sistema: libmongoc, libbson e libmongocrypt. O nível
     intermediário é a extensão MongoDB PHP. O nível superior é a área de usuário do PHP e
     inclui a biblioteca MongoDB PHP e pacotes de nível superior, como
     integrações de estrutura e aplicações.
    " width="625" height="450" />
    </div>
   </div>
  </p>

  <p class="para">
   No topo desta pilha está uma
   <a href="https://github.com/mongodb/mongo-php-library" class="link external">&raquo;&nbsp;biblioteca PHP</a>,
   que é distribuída como um
   <a href="https://packagist.org/packages//mongodb/mongodb" class="link external">&raquo;&nbsp;Pacote Composer</a>.
   Esta biblioteca fornece uma API consistente com outros
   <a href="https://www.mongodb.com/docs/drivers/" class="link external">&raquo;&nbsp;drivers</a> do MongoDB
   e implementa várias
   <a href="https://github.com/mongodb/specifications" class="link external">&raquo;&nbsp; especificações</a> de drivers cruzados.
   Embora a extensão possa ser usada diretamente, a biblioteca tem sobrecarga mínima e
   deve ser uma dependência comum para a maioria das aplicações criadas com MongoDB.
  </p>

  <p class="para">
   Abaixo dessa biblioteca está uma extensão PHP, que é distribuída através de
   <a href="https://pecl.php.net/package/mongodb" class="link external">&raquo;&nbsp;PECL</a>.
   A extensão forma a ligação entre o PHP e nossas bibliotecas de sistema
   (<a href="https://github.com/mongodb/mongo-c-driver" class="link external">&raquo;&nbsp;libmongoc</a>,
   <a href="https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson" class="link external">&raquo;&nbsp;libbson</a> e
   <a href="https://github.com/mongodb/libmongocrypt" class="link external">&raquo;&nbsp;libmongocrypt</a>).
   Sua API pública fornece apenas as funcionalidades mais essenciais:

   <ul class="simplelist">
    <li>Gerenciamento de conexões</li>
    <li>Codificação e decodificação BSON</li>
    <li>Serialização de documentos de objetos (para suportar bibliotecas ODM)</li>
    <li>Executar comandos, consultas e operações de gravação</li>
    <li>Manipulação de cursores para resultados de comandos e consultas</li>
   </ul>
  </p>

  <p class="para">
   <table class="doctable table">
    <caption><strong>ódigo-fonte do driver e projetos JIRA</strong></caption>
    
     <thead>
      <tr>
       <th>Projeto</th>
       <th>GitHub</th>
       <th>JIRA</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>Biblioteca PHP</td>
       <td><a href="https://github.com/mongodb/mongo-php-library" class="link external">&raquo;&nbsp;mongodb/mongo-php-library</a></td>
       <td><a href="https://jira.mongodb.org/browse/PHPLIB" class="link external">&raquo;&nbsp;PHPLIB</a></td>
      </tr>

      <tr>
       <td>Extensão PHP</td>
       <td><a href="https://github.com/mongodb/mongo-php-driver" class="link external">&raquo;&nbsp;mongodb/mongo-php-driver</a></td>
       <td><a href="https://jira.mongodb.org/browse/PHPC" class="link external">&raquo;&nbsp;PHPC</a></td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div><?php manual_footer($setup); ?>