<commit_before># PDO4You

Esta classe é baseada no PDO, que é uma extensão do PHP que permite aos desenvolvedores criar um código portável, de modo a atender a maioria das bases de dados mais populares. 
Sendo o MySQL, PostgreSQL, MS SQL Server, Sybase, Oracle.

O PDO provê uma camada abstrata de acesso a dados, que independentemente de qual base de dados você esteja utilizando, sempre poderá usar os mesmos métodos para emitir consultas e buscar dados.

O padrão de projeto Singleton foi adotado para otimizar a conexão, garantindo uma única instância do objeto de conexão por base de dados.


Vantagens no uso da classe:
==========
* Abstração de conexão
* Proteção contra SQL Injection
* Métodos CRUD pré-definidos
* Múltiplas instâncias de conexão distinta
* Instrução SQL compacta, usando notação JSON
* Tratamento de erros com Stack Trace



Verificando os drivers suportados pelo servidor
-------------------------------------
Para verificar se o seu servidor tem suporte a um driver PDO de sua base de dados, execute o seguinte método.

~~~ php
<?php

// O método getAvailableDrivers(), exibe todos os drivers instalados e que são suportados pelo servidor
PDO4You::getAvailableDrivers();

?>
~~~

Para habilitar os drivers basta editar o arquivo php.ini e descomentar as seguintes linhas:

extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_mssql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_sqlite.dll



Carregando a interface, a classe PDO4You de conexão e o autoloader
----------------------
~~~ php
<?php

// Os principais arquivos nessa ordem são carregados
require_once("PDOConfig.class.php");
require_once("PDO4You.class.php");
require_once("PDOLibrary.class.php");

?>
~~~ 

`PDOConfig.class.php`: contém a interface de configuração do servidor.

`PDO4You.class.php`: possui a implementação do objeto PDO4You de conexão Singleton, estendendo a extensão PDO.

`PDOLibrary.class.php`: possui um autoloading de classes e pode ser usado como biblioteca de funções do sistema.


Um DSN ou Data Source Name (Nome de Fonte de Dados), armazena as informações necessárias para se iniciar uma comunicação com outras fontes de dados, tais como: tipo de tecnologia, nome do servidor ou localização, nome da base de dados, usuário, senha  e outras configurações adicionais. Isso facilita a troca de acesso a base de dados que sofrerem migração.

<commit_msg>Updated documentation<commit_after># PDO4You

Esta classe é baseada no PDO, que é uma extensão do PHP que permite aos desenvolvedores criar um código portável, de modo a atender a maioria das bases de dados mais populares. 
Sendo o MySQL, PostgreSQL, MS SQL Server, Sybase, Oracle.

O PDO4You provê uma camada abstrata de acesso a dados, que independentemente de qual base de dados você esteja utilizando, sempre poderá usar os mesmos métodos para emitir consultas e buscar dados.

O padrão de projeto Singleton foi adotado para otimizar a conexão, garantindo uma única instância do objeto de conexão por base de dados.


Vantagens no uso da classe:
==========
* Abstração de conexão
* Proteção contra SQL Injection
* Métodos CRUD pré-definidos
* Múltiplas instâncias de conexão distinta
* Instrução SQL compacta, usando notação JSON
* Tratamento de erros com Stack Trace



Verificando os drivers suportados pelo servidor
-------------------------------------
Para verificar se o seu servidor tem suporte a um driver PDO de sua base de dados, execute o seguinte método.

~~~ php
<?php

// O método getAvailableDrivers(), exibe todos os drivers instalados e que são suportados pelo servidor
PDO4You::getAvailableDrivers();

?>
~~~

Para habilitar os drivers basta editar o arquivo php.ini e descomentar as seguintes linhas:

~~~ html
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_mssql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_sqlite.dll
~~~


Carregando a interface, a classe PDO4You de conexão e o autoloader
----------------------
~~~ php
<?php

// Os principais arquivos nessa ordem são carregados
require_once("PDOConfig.class.php");
require_once("PDO4You.class.php");
require_once("PDOLibrary.class.php");

?>
~~~ 

`PDOConfig.class.php`: contém a interface de configuração do servidor.

`PDO4You.class.php`: possui a implementação do objeto PDO4You de conexão Singleton, estendendo a extensão PDO.

`PDOLibrary.class.php`: possui um autoloading de classes e pode ser usado como biblioteca de funções do sistema.


Um DSN ou Data Source Name (Nome de Fonte de Dados), armazena as informações necessárias para se iniciar uma comunicação com outras fontes de dados, tais como: tipo de tecnologia, nome do servidor ou localização, nome da base de dados, usuário, senha  e outras configurações adicionais. Isso facilita a troca de acesso a base de dados que sofrerem migração.


{'fraction_non_alphanumeric': 0.08156606851549755, 'fraction_numerical': 0.0030587275693311584, 'mean_word_length': 4.3901098901098905, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2905788', 'n_tokens_mistral': 1676, 'n_tokens_neox': 1611, 'n_words': 632}