调用PHP类

时间:2009-11-02 01:37:33

标签: php class call

有没有办法调用php类(例如$ var = new className)并且var存储className函数返回的值?

或者,有没有办法调用一个类而不让它执行具有相同名称的函数?

4 个答案:

答案 0 :(得分:2)

在PHP5中可以使用魔法__toString();从类实例/对象返回一个值。

简单地

class MyClass{

function __construct(){
  // constructor
}

function __toString(){
  // to String
  return 5;
}

}

$inst = new MyClass();

echo $inst; // echos 5

构造函数不返回值(实际上你不能这样做)。如果要从类的实例中获取值,请使用__toString()魔法方法。

答案 1 :(得分:2)

与类同名的功能是他们在php 4中工作的'构造函数'。 创建新对象实例时会自动调用此函数。

在php 5中,使用了一个新的魔术函数__construct()。 如果您使用php5并且不包含'__construct'方法,php将搜索旧式构造函数方法。 http://www.php.net/manual/en/language.oop5.decon.php

因此,如果您使用的是php5,请在您的类中添加一个'__construct'方法,并且当构造一个新对象时,php将退出执行与该类相同名称的'方法'。

答案 2 :(得分:0)

构造函数不返回值,它们用于实例化您正在创建的新对象。 $ var将始终包含使用您提供的代码对新对象的引用。

老实说,从你的问题来看,听起来你并不理解课程的意图。

答案 3 :(得分:0)

$var = new classname将始终返回classname的实例。你不能让它返回别的东西。

阅读本... http://www.php.net/manual/en/language.oop5.php