可以的。
$ss = new ask($db,$sql,xxxxxxx);这句这样写。

解决方案 »

  1.   

    可以啊...典型的 has-a 结构
      

  2.   

    建议您养成一个良好的代码规范$db = new mydb('host','user','pwd','db');// mydb这个类里有query($sql)的方法;//下面一个类要用到这个连接类$ss = new $ask($db,$sql,xxxxxxx);class ask{

    var $db; function ask($object,$str,xxxx){ $this->db=$object; $rs = $this->db->query($str); }
    }
      

  3.   

    晕了,我知道格式,我也会,就是本地测试的时候我放不进去类呀。
    class ask{
        var $object;    function ask($db/*$db是一个类*/){
            $this->object = $db;
            //把类传给OBJECT,那么我就理所当然的可以用:
            $object->$db->query($sql);//我是不是能用这里面的方法 了?从理论上讲?但事实上我用不了!
             //那只有extends了那用的时候就只有  father :: query($sql);也不行。试了N次,没有信心 了。如果哪位大哥把问题给我办了,给分!
        }}
      

  4.   

    用继承,没有你这样传的
    $db = new mydb('host','user','pwd','db');class ask extends mydb{
        var $object;    function ask(){
            paraent::mydb('host','user','pwd','db');        $this->$db->query($sql);    }}
      

  5.   

    谢谢你们,语法我知道,格式我也知道,我刚才没有用工具,这里没有装ZEND刚才用手打的哥们,求你们了,不要刺激我了,给点我想要的,下次真的要把源程序发上去,要不真难讲清。兄弟你们累了,我自己来想吧!
      

  6.   

    可能是我没说清楚:连接类:class Mydb {
    private $host; #主机
    private $user; #用户名
    private $pwd; #密码
    private $db; #库
    private $link; #资源


    public function Mydb($h,$u,$p,$d) {
    $this->host  = $h;
    $this->user  = $u;
    $this->pwd = $p;
    $this->db = $d;
    $this->conect();
    $this->selectDb();
    }

    public  function conect(){//连接
    $this->link = @mysql_connect($this->host,$this->user,$this->pwd) or die("连接失败".mysql_error());
    }

    public  function selectDb(){//选择库
    @mysql_select_db($this->db,$this->link) or die("数据库不存在".mysql_error());
    }

    public static function query($sql){//RUN语句
    @mysql_query("set names 'utf8';");
    return @mysql_query($sql);
    }
    }//无限级FUNCTION:
    function showMenu($id,$db)
    {
    $rs = $db->query("select * from product_class where F_id = $id order by id asc ;");
    while ($rss = mysql_fetch_row($rs)){
    echo "\n<ul>";
    echo "<li>";
    echo $rss[1];
    showMenu($rss[0],$db);
    echo "</li>\n";
    echo "</ul>";

    }
    }
    //明白了吗?//我要这样调用:showMenu(0,new Mydb('localhost','root','123456','Pen'));
      

  7.   

    都要写成类,每个类放在每个类里,面向对像!我讲不清了!晕了。下面写的是FUNCTION,这样可以调用,如果是类,就是写成类实验没有成功!不知道为什么?
      

  8.   

    类这样写:
    class ask{
        
    var $db;
    var $sql = "";
    function __construct($db,$sql)
    {
    $this->db = $db;
    $this->sql = $sql;
    }
    function abc(){
    $this->db->query($this->sql);
    }
    }
    调用时这样写
    $db=new my......;
    $sql="select .....";
    $tmp = new ask($db,$sql);这样的方法肯定是可以的,我就是这么用的,肯定没问题的
      

  9.   

    能行的通不是我想要的,不好意思!我想把Mydb类当参数一样传给别一个类的构造方法,比如说ASK构造的时候就传达一个类,可以这个,也可以是别的总之要把一个类传给这个类,当作参数。别管什么用,我自有用法,不管格式语法。只要一个能够实现我的需求的就OK!
      

  10.   

    写了个例子,不知道是不是楼主想要的:class testa{
    private $parm1;
    private $parm2;
    public function testa($name,$sex){
    $this->parm1 = $name;
    $this->parm2 = $sex;
    }
    public function getInfo(){
    return "hi,".$this->parm1." you age is ".$this->parm2;
    }
    }class testb{
    public function testb(){

    }
    public function conna($obj){
    return $obj->getInfo();
    }
    }$t1 = new testa("coder",24);
    $t2 = new testb();
    echo $t2->conna($t1);
      

  11.   

    写了个例子,不知道是不是楼主想要的:class testa{
    private $parm1;
    private $parm2;
    public function testa($name,$sex){
    $this->parm1 = $name;
    $this->parm2 = $sex;
    }
    public function getInfo(){
    return "hi,".$this->parm1." you age is ".$this->parm2;
    }
    }class testb{
    public function testb(){

    }
    public function conna($obj){
    return $obj->getInfo();
    }
    }$t1 = new testa("coder",24);
    $t2 = new testb();
    echo $t2->conna($t1);
      

  12.   

    csdn的回复看来有点问题哦。回了两次。。
      

  13.   

    不好意思,虽然你们很努力,但还不是我想的要,我自己能写出我搞定了。我要是的类,传入一个类,如果 这个类不当参数传入,那就在类的内部NEW(); 像C#中的语法一样,都要面向对像!哎感觉PHP功能很强只是面向对像还要改改。zend的柜架用起来也不是很爽!
      

  14.   

    可能是你没有习惯的缘故,PHP的面向对象是很强大的
      

  15.   

    这样是可以的而且会经常这么做
    但LZ的代码看起来不应该这样应该用继承没有工具随便写的代码 一个缓存应用 前端和后端
    前端负责序列化数据后端负责存储<?php
    class cache{
    var $write;
    function __construct($write)
    {
    $this->write = $write;
    }
    function set($name, $value)
    {
    $result = serialize($value);
    $this->write->write($name, $value);
    }
    }
    class cache_file
    {

    function write($name, $value)
    {
    $fp = fopen($name);
    fwrite($fp, $value);
    }
    }$cache = new cache(new cache_file());