Php 类并调用非对象上的成员函数

Php 类并调用非对象上的成员函数,php,class,oop,Php,Class,Oop,这次我遇到了一个难题。我有: [文件夹]文件 结构目录 [课堂] -class.page.php -class.main.php [核心] -core.test.php 现在是class.data.php 现在是class.page.php 现在是core.test.php 当我打开class.test.php时,它会显示以下内容: 致命错误:在第13行的/membri/khchapterzero/core/core.test.php中的非对象上调用成员函数clean这并不重要,因为我减少了主题

这次我遇到了一个难题。我有:

[文件夹]文件

结构目录

[课堂] -class.page.php -class.main.php [核心] -core.test.php

现在是class.data.php

现在是class.page.php

现在是core.test.php

当我打开class.test.php时,它会显示以下内容:
致命错误:在第13行的/membri/khchapterzero/core/core.test.php中的非对象上调用成员函数clean这并不重要,因为我减少了主题的页面,但原始页面中的一行是我发布的,另一行是注释

这似乎没问题,如果所有文件都在一个文件夹中,它工作正常,我试过了,没有错。检查你的结构和名字。 我查一下:

Test->
      class.data.php
      class.page.php
      core.test.php
在中仅包含文件名。
因此,再次检查您的路径

$数据是在页面对象中定义的,它在全局范围中不能作为变量使用。而且因为您没有将其存储为页面obejct的类成员,所以当页面的构造函数解析时,它也会丢失

要解决此问题,请执行以下操作:

首先将$data设为Page类的类成员,以便在构造函数完成后不会丢弃它

<?php
  class Page {
  public function __construct {
  require_once "../include/class.data.php";
  $this->data = New DataTools();
  }
?>

嗯。。我不明白。。。很抱歉我在class.page.phpAdd错误报告中创建了它,在打开通知后立即报告到文件顶部:未定义变量:第13行/membri/khchapterzero/core/core.register_3.php中的数据我们正在靠近@RavenJe-如果没有定义它,它是一个非对象。问题是core.test.php在另一个目录中。class.data.php和class.page.php位于类文件夹[class]class.test.php位于核心文件夹[core]core.test.php->require_once../class/class.page.php class.page.php->require_once class.data.php;现在工作,但如果我不使用此表格?如果我想使用$nome=$page->cleanExample?您可以在class.page.php中修复路径,然后说$page=newdatatools;如果您想在页面上调用->清除,但是将函数存储在DATATOOLS中,请考虑将->清理添加到刚刚调用其数据的-> CURE的页面上。
<?php
  require_once "../class/class.page.php";
  $page = new Page;
  $nome = $data->clean("exemple"); // line 13
?>
Test->
      class.data.php
      class.page.php
      core.test.php
<?php
  class Page {
  public function __construct {
  require_once "../include/class.data.php";
  $this->data = New DataTools();
  }
?>
$nome = $page->data->clean("exemple");