> 백엔드 개발 > PHP 튜토리얼 > CodeIgniter学习笔记三:扩展CI的控制器、模型,codeigniterci_PHP教程

CodeIgniter学习笔记三:扩展CI的控制器、模型,codeigniterci_PHP教程

WBOY
풀어 주다: 2016-07-13 09:51:24
원래의
924명이 탐색했습니다.

CodeIgniter学习笔记三:扩展CI的控制器、模型,codeigniterci

一、扩展CI中的控制器

有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现。

扩展CI控制器只需要在application/core文件夹中建一个继承自CI_Controller类的MY_Controller类即可,然后在这个类中实现自己需要的逻辑。

关于上面这句话,有两点需要解释一下:

1、为什么要在application/core文件夹中:是因为基类CI_Controller是在system/core文件夹中,这里需要跟system中对应。

2、为什么扩展的控制器前缀是MY_,可否换成其他的:这个前缀是在application/config/config.php中定义的:

<span>$config</span>['subclass_prefix'] = 'MY_';
로그인 후 복사

只需要这两处对应上就可以了。

二、模型

示例application/models/user_model.php:

<?<span>php
    </span><span>/*</span><span>*
    * User_model
    </span><span>*/</span>
    <span>class</span> User_model <span>extends</span><span> CI_Model{

        </span><span>//</span><span>return all users</span>
        <span>public</span> <span>function</span><span> getAll() {
            </span><span>$res</span> = <span>$this</span> -> db -> get('test'<span>);
            </span><span>return</span> <span>$res</span> -><span> result();
        }
    }</span>
로그인 후 복사

注意点:

1、文件名全小写

2、类名首字母大写

3、模型中可以使用超级对象中的属性

4、建议用_model作后缀,防止跟其他类名冲突

使用示例:

<span>public</span> <span>function</span><span> index() {
    </span><span>//</span><span>load model</span>
    <span>$this</span> -> load -> model('User_model'<span>);
    </span><span>$usermodel</span> = <span>$this</span> -> User_model -><span> getAll();

    </span><span>//</span><span>别名</span>
    <span>$this</span> -> load -> model('User_model', 'user'<span>);
    </span><span>$usermodel</span> = <span>$this</span> -> user -><span> getAll();
    </span><span>var_dump</span>(<span>$usermodel</span><span>);
}</span>
로그인 후 복사

模型主要用于规范项目结构。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1014181.htmlTechArticleCodeIgniter学习笔记三:扩展CI的控制器、模型,codeigniterci 一、扩展CI中的控制器 有时需要对CI中的控制器作统一操作,如进行登录和权限验...
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿