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 { 
}