CodeIgniter - Bibliotecas
A parte essencial de um framework CodeIgniter são suas bibliotecas. Ele fornece um rico conjunto de bibliotecas, que aumentam indiretamente a velocidade de desenvolvimento de um aplicativo. A biblioteca do sistema está localizada em sistema / bibliotecas. Tudo o que precisamos fazer é carregar a biblioteca que queremos usar. A biblioteca pode ser carregada conforme mostrado abaixo -
$this->load->library('class name');
Onde class nameé o nome da biblioteca que queremos carregar. Se quisermos carregar várias bibliotecas, podemos simplesmente passar uma matriz como argumento paralibrary() função conforme mostrado abaixo -
$this->load->library(array('email', 'table'));
Aulas de biblioteca
As aulas da biblioteca estão localizadas em system/libraries. Cada classe possui várias funções para simplificar o trabalho de desenvolvimento. A tabela a seguir mostra os nomes da classe da biblioteca e sua descrição.
SN | Classe e descrição da biblioteca |
---|---|
1 | Benchmarking Class A classe de benchmarking está sempre ativa, permitindo que a diferença de tempo entre quaisquer dois pontos marcados seja calculada. |
2 | Caching Class Esta classe armazenará as páginas em cache, para acessar rapidamente a velocidade da página. |
3 | Calendaring Class Usando esta classe, você pode criar calendários dinamicamente. |
4 | Shopping Cart Class Usando esta classe, você pode adicionar ou remover um item do carrinho de compras. Os itens são salvos na sessão e permanecerão ativos até que o usuário navegue no site. |
5 | Config Class As preferências de configuração podem ser recuperadas, usando esta classe. Esta classe é inicializada automaticamente. |
6 | Email Class Esta classe fornece funcionalidades relacionadas a e-mail, como enviar ou responder a e-mails. |
7 | Encryption Class Esta classe fornece funcionalidade de criptografia de dados bidirecional. |
8 | File Uploading Class Esta classe fornece funcionalidades relacionadas ao upload de arquivos. Você pode definir várias preferências, como tipo de arquivo a ser carregado, tamanho dos arquivos etc. |
9 | Form Validation Class Esta classe fornece várias funções para validar o formulário. |
10 | FTP Class Esta classe fornece várias funções relacionadas ao FTP, como transferência de arquivos para remover servidor, movimentação, renomeação ou exclusão de arquivos no servidor. |
11 | Image Manipulation Class A manipulação de imagens como redimensionar, criar miniaturas, recortar, girar, marca d'água pode ser feita com a ajuda desta classe. |
12 | Input Class Esta classe pré-processa os dados de entrada por motivos de segurança. |
13 | Language Class Esta classe é usada para internacionalização. |
14 | Loader Class Esta classe carrega elementos como arquivos de visualização, drivers, auxiliares, modelos etc. |
15 | Migrations Class Esta classe fornece funcionalidades relacionadas a migrações de banco de dados. |
16 | Output Class Essa classe envia a saída para o navegador e também armazena em cache essa página da web. |
17 | Pagination Class Esta classe adiciona funcionalidades de paginação à página da web. |
18 | Template Parser Class A classe do analisador de modelo pode realizar a substituição de texto simples para pseudo-variáveis contidas em seus arquivos de visualização. Ele pode analisar variáveis simples ou pares de tags de variáveis. |
19 | Security Class Esta classe contém funções relacionadas à segurança, como Filtragem XSS, CSRF etc. |
20 | Session Library Esta classe fornece funcionalidades para manter a sessão de sua aplicação. |
21 | HTML Table Esta classe é usada para gerar tabelas HTML automaticamente a partir de resultados de array ou banco de dados. |
22 | Trackback Class A classe Trackback fornece funções que permitem enviar e receber dados de Trackback. |
23 | Typography Class A classe Typography fornece métodos que ajudam a formatar o texto. |
24 | Unit Testing Class Esta classe fornece funcionalidades para testar a unidade de seu aplicativo e gerar o resultado. |
25 | URI Class A classe URI fornece métodos que ajudam a recuperar informações de suas strings de URI. Se você usar o roteamento URI, também poderá recuperar informações sobre os segmentos redirecionados. |
26 | User Agent Class A classe de agente do usuário fornece funções que ajudam a identificar informações sobre o navegador, dispositivo móvel ou robô visitando seu site. Além disso, você pode obter informações de referência, bem como idioma e informações de conjunto de caracteres compatíveis. |
27 | XML-RPC and XML-RPC Server Classes As classes XML-RPC do CodeIgniter permitem que você envie solicitações a outro servidor ou configure seu próprio servidor XML-RPC para receber solicitações. |
28 | Zip Encoding Class Esta classe é usada para criar arquivos zip de seus dados. |
Criação de bibliotecas
CodeIgniter tem um rico conjunto de bibliotecas, que você pode encontrar em system/libraries pasta, mas o Code Igniter não se limita apenas às bibliotecas do sistema, você também pode criar suas próprias bibliotecas, que podem ser armazenadas application/librariespasta. Você pode criar bibliotecas de três maneiras.
- Criar nova biblioteca
- Estenda a biblioteca nativa
- Substitua a biblioteca nativa
Criar nova biblioteca
Ao criar uma nova biblioteca, deve-se ter em mente o seguinte:
- O nome do arquivo deve começar com uma letra maiúscula, por exemplo, Mylibrary.php
- O nome da classe deve começar com uma letra maiúscula, por exemplo, class Mylibrary
- O nome da classe e o nome do arquivo devem corresponder.
Mylibrary.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Mylibrary {
public function some_function() {
}
}
/* End of file Mylibrary.php */
Loading the Custom Library
A biblioteca acima pode ser carregada simplesmente executando a seguinte linha em seu controlador.
$this->load->library(‘mylibrary’);
minha biblioteca é o nome da sua biblioteca e você pode escrevê-lo em letras maiúsculas ou minúsculas. Use o nome da biblioteca sem a extensão “.php”. Depois de carregar a biblioteca, você também pode chamar a função dessa classe conforme mostrado abaixo.
$this->mylibrary->some_function();
Amplie a Biblioteca Nativa
Às vezes, você pode precisar adicionar sua própria funcionalidade à biblioteca fornecida pelo CodeIgniter. CodeIgniter fornece facilidade pela qual você pode estender a biblioteca nativa e adicionar suas próprias funções. Para conseguir isso, você deve estender a classe da classe da biblioteca nativa. Por exemplo, se você deseja estender a biblioteca de e-mail, isso pode ser feito conforme mostrado abaixo -
Class MY_Email extends CI_Email {
}
Aqui, no exemplo acima, a classe MY_Email está estendendo a classe de email CI_Email da biblioteca nativa. Esta biblioteca pode ser carregada pela forma padrão de carregamento da biblioteca de e-mail. Salve o código acima no arquivo My_Email.php
Substitua a Biblioteca Nativa
Em algumas situações, você não deseja usar a biblioteca nativa da maneira como ela funciona e deseja substituí-la por sua própria maneira. Isso pode ser feito substituindo a biblioteca nativa. Para conseguir isso, você só precisa dar o mesmo nome de classe que é nomeado na biblioteca nativa. Por exemplo, se você deseja substituir oEmail classe, em seguida, use o código conforme mostrado abaixo. Salve o nome do arquivo comEmail.php e dar um nome de classe para CI_Email.
Email.php
Class CI_Email {
}