存档

‘CodeIgniter’ 分类的存档

CI框架中关于$this->load的理解

2013年7月4日 评论已被关闭

php框架中类似这样的$this->load->view('blog', $data)的代码很多,可以看下面的例子来加深理解。

<?php

 class ci{
    
     public function __construct(){
         $this->load=new view();         
     }
     
 }
 
 class view{
    public function a(){
            
        echo 1;
    }
    
    public function b(){
            
        echo 2;
    }


 }
 
 $ci=new ci();
 $ci->load->a(); //输出1
 $ci->load->b(); //输出2
?>

$this->load 是ci类中的一个对象,这个对象存储的是view的实例,a和b是view类中的两个函数。
通过这种方式就可以通过 $this->load 来访问任意一个view类中的方法。

分类: CodeIgniter, php 标签:

CI 前台、后台Controller的设计

2013年1月18日 评论已被关闭

网站设计一般会分前台及后台,前、后台功能及权限管理都不同,习惯上会写成两部分独立的程式(extend基本的函式库),依照这样的概念,在用CodeIgniter开发前、后台功能,通常会设定一个基本的MY_Controller,然后再分别以前台Public_Controller、后台Admin_Controller extends MY_Controller。

如果是一个controller class写在一个php档案里,例如Public_Controller.php:

<?php
class   Public_Controller extends   MY_Controller   {
    function __construct ( )   {
        parent :: __construct ( ) ;
        }
    }
?>

Admin_Controller.php:

<?php
class   Admin_Controller extends   MY_Controller   {
    function __construct ( )   {
        parent :: __construct ( ) ;
        }
    }
?>
这时候要注意在MY_Controller.php里把Public_Controller.php、Admin_Controller.php include进来,如果没有就会出现
Fatal error: Class 'Public_Controller' not found in xxx…的错误讯息。

<?php
class   MY_Controller   extends   Controller   {
    function __construct ( )   {
        parent :: __construct ( ) ;
        }
    }
//把MY_Controller.php、Public_Controller.php、Admin_Controller.php都放在applicaton/libraries目录下。
include ( 'Public_Controller.php' ) ;
include ( 'Admin_Controller.php' ) ;
?>

另一个方法,是把这些controller class都写在MY_Controller.php

<?php
class   MY_Controller extends Controller   {
    function __construct ( )   {
        parent :: __construct ( ) ;
        }
    }
class   Public_Controller extends   MY_Controller   {
    function __construct ( )   {
        parent :: __construct ( ) ;
        }
    }
class   Admin_Controller extends   MY_Controller   {
    function __construct ( )   {
        parent :: __construct ( ) ;
        }
    }
?>

分类: CodeIgniter, php 标签:

CI 错误 In order to use the Session class you are required to set an encryption key

2013年1月17日 评论已被关闭

$config['encryption_key'] = 'your_encryption_key_here';
config.php 添加这个参数即可

分类: CodeIgniter, php 标签:


标签

ajax apache array array_slice CentOS checkbox composer cookie csv curl date DATE_FORMAT excel FCKEditor file_get_contents laravel Magento Certified Developer mb_substr memcache Memcached MySQL String Functions Netbeans openssl php面试题 preg_match_all preg_replace QQ登录 rewrite SaeStorage serialize session setTimeout Sphinx spl Storage strtotime ueditor vsftp vsftpd Zend zip 分割字符串 图片处理 新浪云 正则表达式

存档