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