2011-03-17 42 views
2

有沒有像/結束(像在ASP中)爲PHP? 特別是對類對象這將是很好 - ASP語法是這樣:PHP:新手問題 - 類似於/結束在PHP中?

with myWeb 
    .init "myweb" 
    response.write .html 
end with 

感謝

+0

它可以幫助,如果你能解釋與/末端結構做了什麼。 – 2011-03-17 20:02:18

+0

什麼與/結束,然後我可能會幫助:-D – Neal 2011-03-17 20:03:10

+0

@jW和@maniator,基本上你說「與對象」,然後而不是鍵入'$ obj-> variable =「something」只要它在「with」塊內,它就是' - > variable =「something」。 – 2011-03-17 20:04:06

回答

6

沒有,是在PHP沒有這樣的事:你必須寫類/對象/變量的全名/無論何時你想使用它們。

+0

到PHP的榮譽!在我看來,VB是最糟糕的功能之一。 :/ – 2011-03-20 07:56:45

1

不,AFAIK。

你真的覺得這個語法有用嗎?

0

不知道IM權,但tryed我最好的體現你的例子:/

<?php function write_block(){ 
echo '.html'; 
} 

die(write_block()); 
?> 
0

這不正是你想要的,但你可以用PHP引用類似的東西:

<?php 
class A { 
    public $bar1 = 1; 
    public $bar2 = 2; 
    public $bar3 = 3; 
} 

class B { 
    public $foo; 
} 

class C { 
    public $foobar; 
} 

$myC = new C; 
$myC->foobar = new B; 
$myC->foobar->foo = new A; 

print $myC->foobar->foo->bar1; 
print $myC->foobar->foo->bar2; 
print $myC->foobar->foo->bar3; 

//Simpler with 'With...End With syntax: 
//which might look something like: 
// 
// with ($myC->foobar->foo)   //Note this is not valid PHP 
// { 
//  print ->bar1;   //Note this is not valid PHP 
//  print ->bar2;   //Note this is not valid PHP 
//  print ->bar3;   //Note this is not valid PHP 
// } 
// 
//Fortunately, you can sort of do this using an object reference: 
// 

$obj =& $myC->foobar->foo; 
    print $obj->bar1; 
    print $obj->bar2; 
    print $obj->bar3; 

unset ($obj); 
?> 
+0

這種方法的優點是你不必擔心嵌套你的「with」語句,因爲你只需使用簡化的命名對象來引用你想要的位。 – user2679212 2013-09-27 10:38:09