> php教程 > PHP开发 > 본문

CodeIgniter 연구 노트 항목 9--CI의 클래스 라이브러리

黄舟
풀어 주다: 2016-12-29 10:34:18
원래의
1193명이 탐색했습니다.

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(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
class Someclass {
    public function some_function()
    {
    }
}
/* End of file Someclass.php */
로그인 후 복사

모든 컨트롤러 기능에서 다음과 같은 표준 방식으로 클래스를 초기화할 수 있습니다.

[code]$this->load->library(&#39;someclass&#39;);
로그인 후 복사

someclass가 파일 이름인 경우 ".php" 확장자를 추가할 필요가 없습니다.

맞춤형 클래스가 로드되면, 다음과 같은 방법으로 클래스를 호출할 수 있습니다. 소문자 이름을 사용해야 합니다.

[code]$this->someclass->some_function();  // 对象的实例名永远都是小写的
로그인 후 복사

클래스 라이브러리를 초기화할 때 두 번째 매개변수를 통해 클래스에 배열을 동적으로 전달할 수 있습니다. . 생성자에서:

[code]$params = array(&#39;type&#39; => &#39;large&#39;, &#39;color&#39; => &#39;red&#39;);
$this->load->library(&#39;Someclass&#39;, $params);
로그인 후 복사

이 기능을 사용할 때 클래스 생성자에 매개변수를 추가해야 합니다:

[code]<?php if (!defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;);
class Someclass {
    public function __construct($params)
    {
        // Do something with $params
    }
}
?>
로그인 후 복사


사용자 정의 클래스 라이브러리에 있는 CodeIgniter의 원본 리소스에 액세스하려면 get_instance() 함수를 사용해야 합니다. 일반적으로 컨트롤러 기능에서 $this를 통해 사용 가능한 CodeIgniter 함수를 호출할 수 있습니다.

[code]$this->load->helper(&#39;url&#39;);
$this->load->library(&#39;session&#39;);
$this->config->item(&#39;base_url&#39;);
로그인 후 복사

사용자 정의 클래스에서 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(&#39;email&#39;);
로그인 후 복사


위는 CodeIgniter 학습 노트 Item9의 내용입니다. CI의 클래스 라이브러리에 대한 자세한 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요. )!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿