CodeIgniter 클래스 라이브러리
모든 클래스 라이브러리 파일은 system/libraries 폴더에 저장됩니다. 대부분의 경우 사용하기 전에 컨트롤러에서 초기화해야 합니다.
[code]$this->load->library('class name');
class name은 사용하려는 클래스 이름입니다. 예를 들어 "양식 유효성 검사 클래스"를 로드하려면 다음을 수행할 수 있습니다.
[code]$this->load->library('form_validation');
클래스 라이브러리 파일 만들기
클래스 라이브러리 파일을 저장해야 합니다. application/libraries 폴더에서 CodeIgniter는 이 폴더에서 해당 라이브러리를 찾아 초기화합니다.
네이밍 규칙
파일명의 첫 글자는 대문자로 표기합니다. 예: Myclass.php
클래스 선언의 첫 글자는 대문자로 표시됩니다. 예: class Myclass
클래스 이름과 파일 이름은 동일해야 합니다.
모든 클래스에는 기본 프로토타입이 있어야 합니다
[code]<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Someclass { public function some_function() { } } /* End of file Someclass.php */
모든 컨트롤러 기능에서 다음과 같은 표준 방식으로 클래스를 초기화할 수 있습니다.
[code]$this->load->library('someclass');
someclass가 파일 이름인 경우 ".php" 확장자를 추가할 필요가 없습니다.
맞춤형 클래스가 로드되면, 다음과 같은 방법으로 클래스를 호출할 수 있습니다. 소문자 이름을 사용해야 합니다.
[code]$this->someclass->some_function(); // 对象的实例名永远都是小写的
클래스 라이브러리를 초기화할 때 두 번째 매개변수를 통해 클래스에 배열을 동적으로 전달할 수 있습니다. . 생성자에서:
[code]$params = array('type' => 'large', 'color' => 'red'); $this->load->library('Someclass', $params);
이 기능을 사용할 때 클래스 생성자에 매개변수를 추가해야 합니다:
[code]<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Someclass { public function __construct($params) { // Do something with $params } } ?>
사용자 정의 클래스 라이브러리에 있는 CodeIgniter의 원본 리소스에 액세스하려면 get_instance() 함수를 사용해야 합니다. 일반적으로 컨트롤러 기능에서 $this를 통해 사용 가능한 CodeIgniter 함수를 호출할 수 있습니다.
[code]$this->load->helper('url'); $this->load->library('session'); $this->config->item('base_url');
사용자 정의 클래스에서 CodeIgniter 원본 클래스를 사용하려면 다음을 수행하세요.
먼저 CodeIgniter 객체를 정의하고 변수에 할당합니다.
[code]$CI =& get_instance();
객체를 변수로 정의하면 해당 변수 이름을 사용할 수 있습니다. :
[code]$CI =& get_instance(); $CI->load->helper('url'); $CI->load->library('session'); $CI->config->item('base_url');
원래 클래스 바꾸기
CodeIgniter가 새 클래스를 사용하도록 하려면 원래 클래스와 동일하게 자신의 클래스 이름을 지정하기만 하면 됩니다. 이 기능을 사용하려면 파일 이름과 클래스 선언이 원본 클래스와 정확히 동일해야 합니다. 예를 들어 원래 이메일 클래스 라이브러리를 대체합니다. application/libraries/Email.php 파일을 생성하고 다음과 같이 클래스를 선언해야 합니다. 필요한 경우
[code]class CI_Email { }
기존 클래스 확장
언제 클래스 라이브러리에 하나 또는 두 개의 새로운 기능을 추가하면 전체 클래스 라이브러리 파일을 바꿀 필요가 없습니다. 기존 클래스를 확장(상속)하면 클래스에 몇 가지 예외를 추가하는 것과 같습니다.
확장 클래스는 상위 클래스에서 확장되었음을 선언해야 합니다.
새로 확장된 클래스가 포함된 파일에는 MY_ 접두사가 붙어야 합니다(이 옵션은 구성 가능).
예를 들어 원래 Email 클래스를 확장하려면 application/libraries/MY_Email.php 파일을 만들고 다음과 같이 파일에서 선언해야 합니다.
[code]class MY_Email extends CI_Email { }
확장 하위 클래스를 로드하려면 표준 문자 이름을 사용해야 합니다. 예를 들어 위에서 언급한 이메일 확장 하위 클래스를 로드하려면 다음과 같이 작성해야 합니다.
[code]$this->load->library('email');
위는 CodeIgniter 학습 노트 Item9의 내용입니다. CI의 클래스 라이브러리에 대한 자세한 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요. )!