php調(diào)用類中的方法
PHP外文名:PHP: Hypertext Preprocessor,中文名:超文本預(yù)處理器是一種通用開源腳本語言??梢允俏磳?shí)例化的類名直接調(diào)用。下面由學(xué)習(xí)啦小編整理了幾種php調(diào)用類中的方法,希望對(duì)大家有所幫助。
php調(diào)用類中的方法一
class foo{
function bar() {
return $this;
}
function hello() {
echo "Hello";
}
}
$foo = new foo();
$foo->bar()->bar()->bar()->bar()->hello();
?>
php調(diào)用類中的方法二
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調(diào)用類中的方法三
/**
* 雙冒號(hào)操作符其意義應(yīng)該是不實(shí)例化類而調(diào)用類中的方法或者成員等
*
*/
class man1
{
public function show()
{
echo "Hello World!";
}
}
//由于show方法中沒有this,所以不出錯(cuò)
man1::show();
class man2
{
public static $a = 1;
public function show()
{
self::$a;
echo "Hello World!";
}
}
//由于show方法中沒有this,所以不出錯(cuò)
man2::show();
class man3
{
public $a = 1;
public static function show()
{
echo $this->a;
echo "Hello World!";
}
}
//這種是犯錯(cuò)的,static 方法里面不可以用this
$p = new man3();
$p->show();
php調(diào)用類中的方法四
class a
{
public function show()
{
print_r($this);
echo $this->str;
}
}
class b
{
public $str = "Hello World!";
public function test()
{
a::show();
}
}
/**
*此處程序運(yùn)行的結(jié)果是輸出”Hello World!”
*因?yàn)?this是指向當(dāng)前類實(shí)例化的一個(gè)對(duì)象,其作用范圍為當(dāng)前對(duì)象的上下文
*而此處A::show()中的$this其實(shí)是指向B類實(shí)例化的對(duì)象 ,而且正在對(duì)象上下文中,所以能夠輸出B中的變量$str的值
*/
$test = new B();
$test->test();
php調(diào)用類中的方法五
//自我感覺這個(gè)這種寫法太繞了,最好不要用
class man1{
public function run()
{
print_r($this);//man2
$this->say();//由于this為man2實(shí)例化的對(duì)象,故可以調(diào)用man2類中的say方法
echo 'running';
}
}
class man2 extends man1{
public function say()
{
echo 'saying';
}
}
$p = new man2();
$p->run();
猜你感興趣: