dingdangjyz 发表于 2008-11-3 21:19:24

请教!创建你自己的类库的一个问题!~

Myclass.php

class Myclass {
   var $a;
   var $b
   function Myclass($pa){
   echo $pa;
   }
   function pr() {
   echo $this->a."__".$this->b;
   }
}

function index() {
      $pa=111;
      $this->load->library('myclass', $pa);
}

请问自己扩展类,
里的构造函数,带参数,怎么传进去?

@。@方法,属性用着都没问题,这个构造函数,的参数要怎么传进去?


A PHP Error was encounteredSeverity: Warning
Message: Missing argument 1 for Myclass::Myclass(), called in C:\phpweb\ci\system\libraries\Loader.php on line 931 and defined
Filename: libraries/Myclass.php
Line Number: 8

A PHP Error was encounteredSeverity: Notice
Message: Undefined variable: pa
Filename: libraries/Myclass.php
Line Number: 9

七月十五 发表于 2008-11-3 22:26:33

默认是MY_ Controller

dingdangjyz 发表于 2008-11-4 10:41:43

用你自己的类替换原始类 扩展现有类
才用加CI_MY_

可是文档上说创建自己的类不用啊!~~

dingdangjyz 发表于 2008-11-4 12:08:58

?????BUG吗?


我用1.63版就没有问题1.70就行!~~~

Hex 发表于 2008-11-4 22:17:47

在初始化自定义类时传递参数

当初始化类库时,你可以通过第二个参数动态的传递数据到类的构造函数中去:
$params = array('type' => 'large', 'color' => 'red');
$this->load->library('Someclass', $params);

当你使用这个特性时,你必须为类的构造函数加上参数:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Someclass {
    function Someclass($params)
    {
      // Do something with $params
    }
}
?>

楼主好好看看文档吧:http://codeigniter.org.cn/user_guide/general/creating_libraries.html
页: [1]
查看完整版本: 请教!创建你自己的类库的一个问题!~