php调用类中的方法
PHP外文名:PHP: Hypertext Preprocessor,中文名:超文本预处理器是一种通用开源脚本语言。可以是未实例化的类名直接调用。下面由学习啦小编整理了几种php调用类中的方法,希望对大家有所帮助。
php调用类中的方法一
class foo{
function bar() {
return $this;
}
function hello() {
echo "Hello";
}
}
$foo = new foo();
$foo->bar()->bar()->bar()->bar()->hello();
?>
php调用类中的方法二
class example {
var $name;
var $sex;
function name($name) {
$this->name = $name;
return $this;
}
function sex($sex) {
$this->sex = $sex;
return $this;
}
function trace() {
print("Name: {$this->name},Sex: {$this->sex}");
}
}
$person = new example;
$person->name("lisha")->sex("female")->trace();
?>
php调用类中的方法三
/**
* 双冒号操作符其意义应该是不实例化类而调用类中的方法或者成员等
*
*/
class man1
{
public function show()
{
echo "Hello World!";
}
}
//由于show方法中没有this,所以不出错
man1::show();
class man2
{
public static $a = 1;
public function show()
{
self::$a;
echo "Hello World!";
}
}
//由于show方法中没有this,所以不出错
man2::show();
class man3
{
public $a = 1;
public static function show()
{
echo $this->a;
echo "Hello World!";
}
}
//这种是犯错的,static 方法里面不可以用this
$p = new man3();
$p->show();
php调用类中的方法四
class a
{
public function show()
{
print_r($this);
echo $this->str;
}
}
class b
{
public $str = "Hello World!";
public function test()
{
a::show();
}
}
/**
*此处程序运行的结果是输出”Hello World!”
*因为$this是指向当前类实例化的一个对象,其作用范围为当前对象的上下文
*而此处A::show()中的$this其实是指向B类实例化的对象 ,而且正在对象上下文中,所以能够输出B中的变量$str的值
*/
$test = new B();
$test->test();
php调用类中的方法五
//自我感觉这个这种写法太绕了,最好不要用
class man1{
public function run()
{
print_r($this);//man2
$this->say();//由于this为man2实例化的对象,故可以调用man2类中的say方法
echo 'running';
}
}
class man2 extends man1{
public function say()
{
echo 'saying';
}
}
$p = new man2();
$p->run();
猜你感兴趣: