将带有方法的Class实例传递给PHP函数

时间:2016-09-15 18:28:12

标签: php

我在这里遇到一些PHP代码。就像标题所说,我试图将一个Class的实例作为参数传递给一个函数(注意,这个文件在另一个文件中并且具有不同的范围,因此我需要将它作为参数传递)。 这是我目前设置的代码:

  // requires built this page, the classes and the functions are in seperate files. 
  // That's why I need to pass it in as a parameter.

  class ClassName {
    private $name;
    private $age;

    public function getAge(){
      return $this->age;
    }
  } $className = new ClassName();

  // seperate file
  var_dump($className); // works, but has no methods.

  function randomFunc($className){
      echo $className->getAge(); // call to undefined method className::getAge()
  } randomFunc($className);

编辑2: 我在这里上传了我的代码: http://sandbox.onlinephpfunctions.com/code/99954d61ca4d3f53ce549dab9f8333630633d89c

我希望你们的人能帮助我,我们将非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这很好用:

<?php
class ClassName {
    private $name;
    private $age = 19;

    public function getAge(){
      return $this->age;
    }
  } 

  function randomFunc($className){
      echo $className->getAge(); // call to undefined method className::getAge()
  } 

$className = new ClassName();

randomFunc($className);

输出:19

你的代码对我来说运行正常,因为$ age是空的,它只输出任何内容。

您运行的是哪个版本的PHP?