CodeIgniter-라이브러리
CodeIgniter 프레임 워크의 필수 부분은 라이브러리입니다. 이는 애플리케이션 개발 속도를 간접적으로 증가시키는 풍부한 라이브러리 세트를 제공합니다. 시스템 라이브러리는 시스템 / 라이브러리에 있습니다. 우리가해야 할 일은 우리가 사용할 라이브러리를로드하는 것입니다. 라이브러리는 아래와 같이로드 할 수 있습니다.
$this->load->library('class name'); 
    어디 class name로드하려는 라이브러리의 이름입니다. 여러 라이브러리를로드하려면 배열을 인수로 전달하면됩니다.library() 아래 표시된 기능-
$this->load->library(array('email', 'table')); 
    도서관 수업
라이브러리 클래스는 system/libraries. 각 클래스에는 개발 작업을 단순화하는 다양한 기능이 있습니다. 다음 표는 라이브러리 클래스의 이름과 설명을 보여줍니다.
| SN | 도서관 클래스 및 설명 | 
|---|---|
| 1 | Benchmarking Class 벤치마킹 클래스는 항상 활성화되어 있으므로 두 표시된 지점 간의 시간 차이를 계산할 수 있습니다.  |  
        
| 2 | Caching Class 이 클래스는 페이지를 캐시하여 페이지 속도에 빠르게 액세스합니다.  |  
        
| 삼 | Calendaring Class 이 클래스를 사용하여 달력을 동적으로 만들 수 있습니다.  |  
        
| 4 | Shopping Cart Class 이 클래스를 사용하여 장바구니에서 항목을 추가하거나 제거 할 수 있습니다. 항목은 세션에 저장되며 사용자가 사이트를 탐색 할 때까지 활성 상태로 유지됩니다.  |  
        
| 5 | Config Class 이 클래스를 사용하여 구성 기본 설정을 검색 할 수 있습니다. 이 클래스는 자동으로 초기화됩니다.  |  
        
| 6 | Email Class 이 클래스는 이메일 보내기 또는 답장과 같은 이메일 관련 기능을 제공합니다.  |  
        
| 7 | Encryption Class 이 클래스는 양방향 데이터 암호화 기능을 제공합니다.  |  
        
| 8 | File Uploading Class 이 클래스는 파일 업로드와 관련된 기능을 제공합니다. 업로드 할 파일 유형, 파일 크기 등과 같은 다양한 환경 설정을 지정할 수 있습니다.  |  
        
| 9 | Form Validation Class 이 클래스는 양식의 유효성을 검사하는 다양한 기능을 제공합니다.  |  
        
| 10 | FTP Class 이 클래스는 서버 제거를위한 파일 전송, 서버에서 파일 이동, 이름 변경 또는 삭제와 같은 다양한 FTP 관련 기능을 제공합니다.  |  
        
| 11 | Image Manipulation Class 크기 조정, 썸네일 생성, 자르기, 회전, 워터 마킹과 같은 이미지 조작은이 클래스의 도움으로 수행 할 수 있습니다.  |  
        
| 12 | Input Class 이 클래스는 보안상의 이유로 입력 데이터를 전처리합니다.  |  
        
| 13 | Language Class 이 클래스는 국제화에 사용됩니다.  |  
        
| 14 | Loader Class 이 클래스는 파일보기, 드라이버, 도우미, 모델 등과 같은 요소를로드합니다.  |  
        
| 15 | Migrations Class 이 클래스는 데이터베이스 마이그레이션과 관련된 기능을 제공합니다.  |  
        
| 16 | Output Class 이 클래스는 출력을 브라우저로 보내고 해당 웹 페이지를 캐시합니다.  |  
        
| 17 | Pagination Class 이 클래스는 웹 페이지에 페이지 매김 기능을 추가합니다.  |  
        
| 18 | Template Parser Class 템플릿 파서 클래스는 뷰 파일에 포함 된 의사 변수에 대한 간단한 텍스트 대체를 수행 할 수 있습니다. 간단한 변수 또는 변수 태그 쌍을 구문 분석 할 수 있습니다.  |  
        
| 19 | Security Class 이 클래스는 XSS 필터링, CSRF 등과 같은 보안 관련 기능을 포함합니다.  |  
        
| 20 | Session Library 이 클래스는 애플리케이션 세션을 유지하는 기능을 제공합니다.  |  
        
| 21 | HTML Table 이 클래스는 배열 또는 데이터베이스 결과에서 HTML 테이블을 자동 생성하는 데 사용됩니다.  |  
        
| 22 | Trackback Class 트랙백 클래스는 트랙백 데이터를주고받을 수있는 기능을 제공합니다.  |  
        
| 23 | Typography Class Typography 클래스는 텍스트 서식을 지정하는 데 도움이되는 메서드를 제공합니다.  |  
        
| 24 | Unit Testing Class 이 클래스는 애플리케이션을 단위 테스트하고 결과를 생성하는 기능을 제공합니다.  |  
        
| 25 | URI Class URI 클래스는 URI 문자열에서 정보를 검색하는 데 도움이되는 메서드를 제공합니다. URI 라우팅을 사용하는 경우 다시 라우팅 된 세그먼트에 대한 정보도 검색 할 수 있습니다.  |  
        
| 26 | User Agent Class 사용자 에이전트 클래스는 사이트를 방문하는 브라우저, 모바일 장치 또는 로봇에 대한 정보를 식별하는 데 도움이되는 기능을 제공합니다. 또한 언어 및 지원되는 문자 집합 정보뿐만 아니라 참조 자 정보를 얻을 수 있습니다.  |  
        
| 27 | XML-RPC and XML-RPC Server Classes CodeIgniter의 XML-RPC 클래스를 사용하면 다른 서버로 요청을 보내거나 요청을 받도록 자체 XML-RPC 서버를 설정할 수 있습니다.  |  
        
| 28 | Zip Encoding Class 이 클래스는 데이터의 zip 아카이브를 만드는 데 사용됩니다.  |  
        
라이브러리 생성
CodeIgniter에는 풍부한 라이브러리 세트가 있습니다. system/libraries 폴더에 있지만 CodeIgniter는 시스템 라이브러리에 국한되지 않고 자신 만의 라이브러리를 만들 수 있습니다. application/libraries폴더. 세 가지 방법으로 라이브러리를 만들 수 있습니다.
- 새 라이브러리 만들기
 - 네이티브 라이브러리 확장
 - 네이티브 라이브러리 교체
 
새 라이브러리 생성
새 라이브러리를 만드는 동안 다음 사항을 명심해야합니다.
- 파일 이름은 Mylibrary.php와 같이 대문자로 시작해야합니다.
 - 클래스 이름은 대문자로 시작해야합니다 (예 : Mylibrary 클래스).
 - 클래스 이름과 파일 이름이 일치해야합니다.
 
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
위의 라이브러리는 컨트롤러에서 다음 줄을 실행하여로드 할 수 있습니다.
$this->load->library(‘mylibrary’); 
    mylibrary는 라이브러리의 이름이며 대문자뿐만 아니라 소문자로도 쓸 수 있습니다. ".php"확장자가없는 라이브러리 이름을 사용하십시오. 라이브러리를로드 한 후 아래와 같이 해당 클래스의 함수를 호출 할 수도 있습니다.
$this->mylibrary->some_function(); 
    네이티브 라이브러리 확장
때로는 CodeIgniter에서 제공하는 라이브러리에 고유 한 기능을 추가해야 할 수도 있습니다. CodeIgniter는 네이티브 라이브러리를 확장하고 고유 한 기능을 추가 할 수있는 기능을 제공합니다. 이를 위해서는 네이티브 라이브러리 클래스의 클래스를 확장해야합니다. 예를 들어 이메일 라이브러리를 확장하려면 아래와 같이 수행 할 수 있습니다.
Class MY_Email extends CI_Email { 
} 
    여기에서 위의 예에서 MY_Email 클래스는 네이티브 라이브러리의 이메일 클래스 CI_Email을 확장하고 있습니다. 이 라이브러리는 이메일 라이브러리를로드하는 표준 방법으로로드 할 수 있습니다. 위 코드를 My_Email.php 파일에 저장하십시오.
네이티브 라이브러리 교체
어떤 상황에서는 네이티브 라이브러리를 작동하는 방식으로 사용하지 않고 자신의 방식으로 교체하고 싶습니다. 이는 네이티브 라이브러리를 교체하여 수행 할 수 있습니다. 이를 달성하려면 네이티브 라이브러리에서 이름이 지정된 것과 동일한 클래스 이름을 지정하면됩니다. 예를 들어,Email class을 클릭 한 다음 아래 표시된 코드를 사용하십시오. 다음으로 파일 이름 저장Email.php 클래스 이름을 CI_Email.
Email.php
Class CI_Email { 
}