我读了整篇文章.它描述了包装类对其他有经验的程序员来说是什么,而不是像我这样的新手.
我理解PHP语法,面向对象的概念,但还没有在面向对象的代码中编写我自己的应用程序.在试图弄清楚包装类究竟是什么时,我感到很困惑.我不懂技术术语.
我希望有人以一个漂亮的详细的孩子般的描述回答,这个描述对于理解面向对象程序的基础知识的人来说很容易理解,并且已经阅读了几乎所有的php.net语言参考,但是没有实际的面向对象编程经验.尚未编写任何申请.
介绍
在这个 jQuery(document).ready() 函数内部,在匿名函数内部,我抛出一个错误,该错误被第二个 catch 块捕获。然后我在该 catch 块内部抛出一个错误,并尝试在第一个 try catch 块外部捕获它。
问题。
尝试 {
// 绑定到就绪状态
jQuery(文档).ready(函数() {
尝试 {
throw Error("这可以在 jquery 回调之外捕获吗?");
_this.initialize();
} 捕获(e){
console.log(e.message + '被回调捕获');
throw Error(e.message + '没有被外面捕获');
}
});
} 捕获(e){
//永远不会被执行。
console.log(e.message);
}
是否有可能获得父类的重写NON静态成员变量的值?
我知道要获取STATIC成员变量的值,您使用self :: $ var1或ClassName :: $ var1,但是如何获得NON静态成员变量的值?
例如...
class One
{
public $var1 = 'old var';
}
class Two extends One
{
public $var1 = 'new var';
public function getOldVar()
{
//somehow get old var
}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢提前!
我试图理解引用如何工作的细节,但我试图遵循编程逻辑,这个代码在循环遍历数组时正在做什么.我正试图一步一步地了解正在发生的事情.
我已经阅读了PHP.net帖子,并了解当在数组的foreach中使用引用时,您必须取消设置变量.我也明白下面的代码不是最好的代码.我只是将它用于学习目的,以遵循关于php解释器如何运行不同代码的编程流逻辑.
我的问题是,每次循环遍历此数组时,此代码执行的操作是什么,如果我不取消设置($ v),则导致它输出以下内容?换句话说,它是一步一步地让数组让'two'作为第一个元素,'three'作为第二个元素,'three3'作为第三个元素?
$arr = array(1=>'one',2=>'two',3=>'three');
foreach($arr as $k=>$v){
$v = &$arr[$k];
$v .= $k;
echo $v . "\n";
//unset($v) .... if I use unset($v) here, then the resulting $arr is correct.
}
Run Code Online (Sandbox Code Playgroud)
输出是......
one1
two2
three3
Array
(
[1] => two
[2] => three
[3] => three3
)
Run Code Online (Sandbox Code Playgroud)
非常感谢你的帮助!!