mysql_select_db($db,$this->db);中,
$db代表数据库名称!!
$this->db又代表数据库连接!!第一个问题我已经找到答案!!但第二个问题怎么没人来回答呢??

解决方案 »

  1.   

    1、这里我有一个疑问:mysql_select_db($db,$this->db);中,$db代表什么?$this->db又代表什么?它们有什么区别?
    很明显,代码中有
    $this->db=mysql_pconnect($host,$user,$pass);
    这个$this->db是到mysql的连接,通常写作$conn
    而$db表示数据库名通常写作$dbname
    可见这个代码可读性不强2、这里我有一个疑问:$this->dao = &$dao;这里的&$dao是不是代表$dao的内存地址?如果是在这里操作它的内存地址有什么作用?
    & 传引用
    这段代码中
       function ProductModel(&$dao) {
          $this->dao = &$dao;
       }
    既然已有ProductModel(&$dao)的声明,那么就不需要再$this->dao = &$dao;了
    直接$this->dao = $dao;就可以了
    这个$dao是一个对象,只有php4才需要声明传递方式,在php5中已经是传引用了至于传值和传引用的区别,请认真看一下手册!
      

  2.   

    $this->dao = &$dao;是把$dao这数据库操作对象在内存的地址赋值给$this->dao变量,避免再次生成新的数据库操作对象,使用$this->dao相当于引用$dao。说得不好敬请谅解
      

  3.   

    这里我有一个疑问:mysql_select_db($db,$this->db);中,$db代表什么?$this->db又代表什么?它们有什么区别?$db代表你将选择的数据库名$this->db 代表你的数据连接的名称,一个代号而已在手册中很详细。$this->dao = &$dao;这里的&$dao是不是代表$dao的内存地址?如果是在这里操作它的内存地址有什么作用?这个跟C语言里面的指针有点一样,都是引用,但是本质不一样
      

  4.   

    谢谢诸位棒艮。:)请不要走开,问题马上:控制器类:Controller
    <?
    class ProductController extends ProductView {
        function ProductController(&$model,$getvars=null) {
            ProductView::ProductView($model);
            $this->header();
            switch ($getvars['view']) {
                case "product":
                    $this->productItem($getvars['id']);
                break;
                default:
                    if(empty($getvars['rownum'])) {
                        $this->productTable();
                    } else {
                        $this->productTable($getvars['rownum']);
                    }
                break;                
            }
            $this->footer();
        }
    }
    ?>这里ProductView::ProductView($model);中的::符号代表什么意思??谢谢
      

  5.   

    ::作用是类似c++那样调用类静态方法在这里ProductView::ProductView($model);避免生成ProductView对象,直接调用ProductView方法
      

  6.   

    控制器类:Controller是作为包含跳转用吧。
    这样不知行不行
    switch($_GET['Module']) {
    case "Search":
            include_once("./search.php");
            break; case "Ads":
    include_once("./Ads.php");
            break;
       default:
                    if(empty($getvars['rownum'])) {
                        $this->productTable();
                    } else {
                        $this->productTable($getvars['rownum']);
                    }
                break;                
            }
      

  7.   

    其实模块部分是主的。就是VEIW部分
      

  8.   

    看看CTB文本论坛或IPB论坛,它们基本是用MVC实现的.
      

  9.   

    我看过好多国外的程序,数据库操作都是dao,dao是什么的缩写,谁知道,谢谢。
      

  10.   

    DAO =>
    data access object
    数据访问对象.
      

  11.   

    MVC我还没有接触过,很想看看
      

  12.   

    MVC全面向对象的语言里用的最多。