page1.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<?php 
class a
{
function display()
{
echo "aaa";
}
}$q=new a;
?>
<a href="page2.php">page2.php</a></body>
</html>
page2.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body><?php $q->display(); ?>
</body>
</html>
1. page2.php为什么没有输出任何内容?
2. $q的作用范围难道只在本页面中有效吗?
3. 如何才能使类实例的作用范围跨页面有效呢?

解决方案 »

  1.   

    1 你的page2.php 应该有报错 为什么没内容 因为你没有将page1.php引用进去 它怎么知道去那找这个对象及方法
    2 本页有效 在其它页面要用 必须引用 可以 include("page1.php");或require("page1.php");
    这两个函数的区别在于一个产生错误一个产生警告还有require_once()以及include_once(); 应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题3 引用就可以在不同的页面访问了4 分给我吧
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <?php 
    class a
    {
        function display()
        {
        echo "aaa";
        }
    }$q=new a;include("page2.php"); ?></body>
    </html>
      

  3.   

    没有页面包含过来 无法调用夸页面的类的方法 同1、2楼所述
    include或者require 前者有错继续 后者有错页面报错
      

  4.   

    ls 们的  所言甚好   lz改结贴了 
      

  5.   

    3. 如何才能使类实例的作用范围跨页面有效呢?
    ========================================
    有必要对这个问题进行下补充.
    如果想让类的实例跨页面使用的话.可以将类的实例序列化,通过第三方传递.
    比如说将其保存在数据库里,
    或者将其存在session中.serialize
    unserialize