class a
{
   public $table = '';   public function __contruct($table)
   {
       $this->table=$table;
   }
}class b
{
    $b = new a('abc');//Fatal error: Class 'a' not found
}
能否使用别的什么方法代替?我现在想在b类里完成对a类构造函数的初始化

解决方案 »

  1.   

    require_once ‘class_a_file.php’; 
      

  2.   

    上面说的对,出错并不是不能new,而是class a的代码没加进来我经常在一个类里面new另一个
      

  3.   

    靠,搜跌撕裂啊、我一直以为这个加载是应该让PHP从内部就给我完成的,没想到
      

  4.   

    直接让class b extends a ,然后在a类中写一个set方法,不就可以了。
      

  5.   

    你是高人,php是比较弱智的
    你不告诉他在哪里找,他就不会主动去找的
      

  6.   

    唠叨哥此言差矣,是我比较弱智。PHP很高明
      

  7.   

    不然,你是在通过php指挥计算机做事,并不是php指挥你做事
    所以你得搞清楚php能做什么,不能做什么
      

  8.   

    楼主这样做不符合php面向对象
      

  9.   

    可以自己写autoload 的callback 使其在new 一个对象时按指定的命名规则去寻找相应的对象. zf 框架的代码就是基于这样的规则摆放的.
      

  10.   

    取个例子,更好说明一些.
    假设 class a  的代码存在 class_a.php  class b 的代码存在class_b.php 上.<?php 
       function __autoload($class_name) {
          require("class_".$class_name.".php");
    }$b = new b(); //这样会自动去 加载 class_b.php 文件
    $a = new a(); //这样会自动去 加载  class_a.php 文件?>