为了愉快的拍黄片,我也要好好学习php

新的项目用的是 laravel ,所以我终于开始愉快的学习世界上最好的语言了。

学习使我快乐,我爱学习 :)(我就用这句话表达,接触了两天的我对它的态度,ps:我始终相信 Javascript 终将统治世界!)

这篇文章主要说明两个问题:

1、php 引用问题 (&);

2、php 对象继承问题。

首先,php 引用 :

在变量或者函数、对象等前面加上 & 符号,不同的名字访问同一个变量内容。

1 <?
2     $a="ABC";
3     $b =&$a;
4     echo $a;//这里输出:ABC
5     echo $b;//这里输出:ABC
6     $b="EFG";
7     echo $a;//这里$a的值变为EFG 所以输出EFG
8     echo $b;//这里输出EFG
9 ?>

第 3 行 $b 引用了 $a ,这个的意思是说,$b 与 $a 共同指向同一个变量(两个变量指向同一个内容),$b 拥有 $a 的值,同时 可以通过改变 $b 来改变 $a 的值,这也就是 7 、8 行输出 EFG 的原因。

再看一个例子,嗯,看例子也使我快乐:)

 1 <?php
 2 function &test()
 3 {
 4     static $b=0;//申明一个静态变量
 5     $b=$b+1;
 6     echo $b;
 7     return $b;
 8 }
 9
10 $a=test();//这条语句会输出 $b的值 为1
11 $a=5;
12 $a=test();//这条语句会输出 $b的值 为2
13
14 $a=&test();//这条语句会输出 $b的值 为3
15 $a=5;
16 $a=test();//这条语句会输出 $b的值 为6
17 ?>

第 10 行,$a 调用 test 方法,因为没有加 & ,也就是不是引用,所以只是返回函数值,赋值给 $a ,输出 1 。

第 12 行,虽然 $a 在第 11 行,被赋值为 5 ,但由于仍然不是引用,所以没有能力改变 test 方法中的 $b 的值,调用的时候也只能 返回本来的函数值,由于在第 10 行的时候 $b 已经等于 1 了,所以再次调用 输出值为 2。

第 14 、 15 行 通过 $a = &test() 方式调用函数 , 它的作用是 将 return $b 中的 $b 变量的内存地址与 $a 变量的内存地址指向了同一个地方。这个时候改变 $a 的值,同时也会改变 $b 的值。于是第 16 行会输出 6。

第二个问题 php 对象继承问题:

 1 /**
 2  * Define MyClass
 3  */
 4 class MyClass
 5 {
 6     // 声明一个公有的构造函数
 7     public function __construct() { }
 8
 9     // 声明一个公有的方法
10     public function MyPublic() { }
11
12     // 声明一个受保护的方法
13     protected function MyProtected() { }
14
15     // 声明一个私有的方法
16     private function MyPrivate() { }
17
18     // 此方法为公有
19     function Foo()
20     {
21         $this->MyPublic();
22         $this->MyProtected();
23         $this->MyPrivate();
24     }
25 }
26
27 $myclass = new MyClass;
28 $myclass->MyPublic(); // 这行能被正常执行,可以直接调用其 公有 的方法
29 $myclass->MyProtected(); // 这行会产生一个致命错误,不可以直接调用其 受保护的 方法
30 $myclass->MyPrivate(); // 这行会产生一个致命错误,不可以直接调用其 私有 的方法
31 $myclass->Foo(); // 公有,受保护,私有都可以执行,可以通过一个公有的方法,间接调用私有和受保护的方法  

如果现在 我们定义一个新的类 MyClass 2,它继承了上面的 MyClass ,再调用公有和私有的方法 会怎么样呢?

 1 /**
 2  * Define MyClass2
 3  */
 4 class MyClass2 extends MyClass
 5 {
 6     // 此方法为公有
 7     function Foo2()
 8     {
 9         $this->MyPublic();
10         $this->MyProtected();
11         $this->MyPrivate(); // 这行会产生一个致命错误
12     }
13 }
14
15 $myclass2 = new MyClass2;
16 $myclass2->MyPublic(); // 这行能被正常执行
17 $myclass2->Foo2(); // 公有的和受保护的都可执行,但私有的不行

第 16 行,调用之后,先在MyClass 2 中找 MyPublic 方法,没有找到,于是找他的父集,也就它继承的 MyClass 中找到了 MyPublic 方法,由于是公有的方法,所以可以调用,执行正常。

第 17 行,调用了 公有方法 Foo2 之后,里面包含了 3 个调用,对于公有的,和受保护的方法都与第16行一样,先从自己的里面找,没有找到,则去他的 父集MyClass 中找,找到就正常调用方法,而对于第三行的 那个私有方法调用,它就只能找寻自己内部有没有这个方法,没有则返回错误,不能去父集里直接调用它的私有方法。

虾面,再看另一个例子,看看是如何调用父集里的私有方法的,对比一下上面的例子:

 1 class Bar
 2 {
 3     public function test() {
 4         $this->testPrivate();
 5         $this->testPublic();
 6     }
 7
 8     public function testPublic() {
 9         echo "Bar::testPublic\n";
10     }
11
12     private function testPrivate() {
13         echo "Bar::testPrivate\n";
14     }
15 }
16
17 class Foo extends Bar
18 {
19     public function testPublic() {
20         echo "Foo::testPublic\n";
21     }
22
23     private function testPrivate() {
24         echo "Foo::testPrivate\n";
25     }
26 }
27
28 $myFoo = new foo();
29 $myFoo->test(); // Bar::testPrivate
30                 // Foo::testPublic

第 29 行,调用 test 方法之后,先在 自己里面找,没有找到,所以找到 父集 Bar 中,在第 3 行找到了 test 方法,于是执行。test 方法中,又有两个调用,第一个 ,调用 testPrivate 私有方法,于是在自己里面找,这个自己里面 指的是 bar 的里面,因为这个 调用是在 父集里面进行的,并且是通过一个 公有的 test 方法,调用自身的私有方法,于是返回的是 bar 的 testPrivate 私有方法。第二个调用 testPublic ,因为 foo 里已经重新定义了一个公有的方法,所以 foo 里的 testPublic 会将 父集的 testPublic 方法覆盖,优先调用 foo 里的 testPublic 方法,所以返回的是 foo 的 testPublic 。

刚开始拍黄片,理解如有误,请指导~

最后再说一句:学习使我快乐:)

时间: 2024-08-28 17:50:40

为了愉快的拍黄片,我也要好好学习php的相关文章

新手学PHP,中文名:新手学拍黄片,哈哈,不知道会不会被屏蔽,第一天晚上

生活免不了无聊的,对于即将毕业的我来说.主修.net,微软开发东西很方便,只是代码也是要换换口味,顺便给简历加一个筹码.菜鸟,可以喷吆.勉.转移话题了,继续讲PHP吧,既然有前面.net学习的铺垫,学习一门入门来说很简单PHP,最先了解的怎么安装环境 一.安装环境 wamp(window Apache mysql php )也就是集成环境,百度一下就可以下载到  ,系统是windows 的,集成环境安装起来很容易的,下一步下一步就ok了,然后然后就ok,别嘲笑,我是新手.然后会直接运行,在右下角

第九章 当寂寞的男人遇到寂寞的女

道哥说酒吧是男人的战场,女人便是俘虏,我却觉得,酒吧是女人的猎场,男人就是猎物.在这个自由开放的时代,男人寻欢,女人作乐,谁又能主宰得了谁.道哥曾经最大的噩梦是第二天醒来发现女人离去,却留下了一沓钱,道哥像发疯的野兽一样的看着,仿佛那不是钱,而是耻辱.第一次,道哥对于送上门的钱视之如粪土,弃之如敝屐. 这天晚上,明羽和小凡都没有加班,之前道哥说我和小凡不够主动,这样不好,要果断出手,关键时刻敢于亮剑,才可常胜.于是今晚我们三个不再是坐在那里喝酒聊天,而是主动出击,各自寻找目标.道哥说了如果今晚我

ACM退役记&amp;&amp;回忆录

ACM退役记 2017.9.19星期二,"九一八事变"八十六年后的第二天,永远记住这个日子,刚好是我报名ACM到现在,刚好满一年,而今天正是我注册杭州电子科技大学OJ的时间(就是这一天报名的),附上小图一张! 嗯,我退役了,真的退役了,从此告别了ACM的生涯,虽然有很多遗憾,虽然有很多不舍,虽然有很多很多不情愿,但是,,,还是没能阻止这一天的到来,可能你们会认为我退役的有点早,可能你们也会有很多疑惑,为啥这么优秀这么强的大佬竟然退役的这么早...(自嘲一下,其实菜的一逼) 其实这个原因

程序员到项目经理:从内而外的提升

转自:http://www.cnblogs.com/watsonyin/archive/2012/09/10/2679528.html 目录 从程序员到项目经理(一):为什么要当项目经理 从程序员到项目经理(二):升职之辨 从程序员到项目经理(三):认识项目经理 从程序员到项目经理(四):外行可以领导内行吗 从程序员到项目经理(五):程序员加油站,不是人人都懂的学习要点 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑 从程序员到项目经理(七):程序员加油站 — 完美主义也是一种错

可惜不是你陪我到最后

我叫夏沫沫,跟我的名字一样,我是苍白的人.我的没有爸爸妈妈,当别人在父母面前撒娇的时候,我睁大无助的眼神,默默的注视着他们.从小到大,我习惯了别人不一样的眼光,习惯了同学的嘲笑,习惯了麻木.当别的小孩在玩旋转木马,在显摆他们的新书包,在谈论他们使用的是什么牌子的化妆品,什么牌子的衣服.鞋子的时候.我还躲在角落里看着我的书,也许我什么都不会,我只会死读书,为了一本资料书跑遍所有书店,为了一道物理题抓破脑袋,为了生存每天去打工.院长妈妈是我最亲的人,我会时不时的回去看看她.妈妈老了,银色的头发已经不

2014年的年终总结

现在都已经是2015年的4月6号,2015年已经过去1/4,但是拖延到现在没有写这篇文章,应该记录下. 2014年过完年回来以后,叨叨的Android版本再修改bug,并不确定上线日期,而iOS版本上线以来的用户量也没有大的增长,添龙去了卡耐基梅隆读书,Android组来了另外一个小伙伴柳航,自己感觉有些懒散,一直没有多少起色,到7月底,公司一位合伙人退出,另一位合伙人选择和另外一个团队合并,公司也从中关村软件园搬到了数码大厦,办公环境开始高大上,开始做"优拍",在2014年年底上线,

快速搭建PHP开发环境(PhpStorm+EasyPHP)

写在开头,何为PHP(拍黄片)? P HP是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用(维基百科). 从上我们得出,何为PHP? 1.开源脚本语言. 2.用于网络开发可嵌入HTML使用. 优点:请自行百度(地址:http://baike.baidu.cn/view/99.htm) IDE选择:Eclipse,记事本,PhpStorm,Visual Studio等. 搭建开发环境 之 工具选择 工欲善其事,必先利其器.选择合适的开发工具,能极大的减少学习成本和提高学习和

做一个取悦自己的贵族,不是更好吗

取悦自己最近两周,有一件非常神奇的事情发生了.目前的工作,我是需要对A总监的,因为最近部门业务繁忙,我的工作定位就是所有我能做的事,我就需要去做,以便解放部门的其他人员,让他们有更多的精力去处理业务. 前期,我尽力和A总监对接,以便能在业务繁忙之时,至少是保证一切井然有序的,也许是对方也并没有十分清楚,或者是什么其他原因,总之就是对接不畅通了.每逢此时,一月前的我会自责,会觉得是自己不够好,是我不够努力,但此时的我依然会把自己能做的事做好,不再妄自菲薄,依然开心去解决一切我所能解决的问题.事情不

深入浅出浮点型

惯例在取标题的时候取大了但又不想改┑( ̄Д  ̄)┍ 不知道是不是因为拍黄片太简单了,还是现在国内的培训机构太水了,又或是现在一群天天泡知乎的人自以为随便看看书就能当程序猿了,已经连续几天在PHP板块看到问为什么PHP的浮点型计算总是不准确,老实说这种基础的问题你在CSDN上,在QQ群里,再不济用会死人的百度一下都应该能知道.但偏偏没事跑囧乎上问,还特一本正经的问为啥解释器不优化一下... 好吧╮(╯-╰)╭ 那今天就稍微聊一下这个话题好了.其实两句话就能解释完,第一计算机计算的时候是使用二进制的