一、由于上两节课我们把程序放到了/usr/local/bin里面。每次编辑需要sudo 。这节课我们使用PHPSTORM来编辑代码,专门把它拷贝出来,然后放到一个叫做home/godpro的文件夹下。
二、现在我们来做一个拷贝脚本,方便自动把home/godpro下的文件拷贝到/usr/local/bin里面
1、我们在godpro下创建一个文件叫做done的文件。
<span style="color: #0000ff;">echo</span> your password | sudo -S /bin/bash -c ' cp god* /usr/local/bin'
<span style="color: #0000ff;">然后给这个done chmod</span> +x <span style="color: #0000ff;">done</span>
三、这节课接触下PHP的类
<span style="color: #0000ff;">class</span><span style="color: #000000;"> godInit { </span><span style="color: #0000ff;">public</span> <span style="color: #800080;">$god_version</span>=<span style="color: #000000;">“”; </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> genConfig() { ……} }</span>
今天我们首先学习静态方法、静态属性的写法.
四、我们设定一个需求:当我们执行godinit ,我们的God会向你提问: 1、询问你的项目的名称是什么? 2、询问项目的作者是什么? 回答后,把这2个值保存在godinit2个静态变量里:
首先需要补充的知识点:从标准输入中获取用户输入的字符 $getstr=fgets(STDIN);
好,下面我们新建文件godinit,并创建一个类:
<span style="color: #000000;">php </span><span style="color: #0000ff;">class</span> godinit <span style="color: #008000;">//</span><span style="color: #008000;">创建一个类,godinit</span> <span style="color: #000000;">{ </span><span style="color: #0000ff;">static</span> <span style="color: #800080;">$VERSION</span>="god version is 1.1"; <span style="color: #008000;">//</span><span style="color: #008000;">声明一个静态属性$VERSION</span> <span style="color: #0000ff;">static</span> <span style="color: #800080;">$prj_name</span>=""; <span style="color: #008000;">//</span><span style="color: #008000;">声明一个静态属性项目名称</span> <span style="color: #0000ff;">static</span> <span style="color: #800080;">$prj_author</span>='shenyi'; <span style="color: #008000;">//</span><span style="color: #008000;">声明一个静态属性项目作者</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> init() <span style="color: #008000;">//</span><span style="color: #008000;">静态方法 init</span> <span style="color: #000000;"> { </span><span style="color: #0000ff;">echo</span> "input your project name?".<span style="color: #ff00ff;">PHP_EOL</span><span style="color: #000000;">; self</span>::<span style="color: #800080;">$prj_name</span>=<span style="color: #008080;">fgets</span>(STDIN); <span style="color: #008000;">//</span><span style="color: #008000;">从标准输入中获取用户输入的字符并赋值给静态属性$prj_name</span> <span style="color: #0000ff;">echo</span> "input your author name?".<span style="color: #ff00ff;">PHP_EOL</span><span style="color: #000000;">; self</span>::<span style="color: #800080;">$prj_author</span>=<span style="color: #008080;">fgets</span><span style="color: #000000;">(STDIN); </span><span style="color: #0000ff;">echo</span> "采集信息如下".<span style="color: #ff00ff;">PHP_EOL</span><span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> self::<span style="color: #800080;">$prj_name</span>.<span style="color: #ff00ff;">PHP_EOL</span><span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> self::<span style="color: #800080;">$prj_author</span>.<span style="color: #ff00ff;">PHP_EOL</span><span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;">return ""</span> <span style="color: #000000;"> } } </span>?>
在类的内部我们要更改静态变量 就可以使用self; self代表类本身 ,用:: 表示调用类本身的变量或者函数。
现在god文件应该是:
<span style="color: #008000;">#</span><span style="color: #008000;">!/usr/local/bin/php</span> <span style="color: #000000;">php </span><span style="color: #0000ff;">require</span>('god_func7'<span style="color: #000000;">); </span><span style="color: #0000ff;">require</span>("godint.php"<span style="color: #000000;">); </span><span style="color: #800080;">$result</span>=''<span style="color: #000000;">; </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$argc</span>>=2<span style="color: #000000;">) { </span>'-v'==<span style="color: #800080;">$argv</span>[1] && <span style="color: #800080;">$result</span>=godinit::<span style="color: #800080;">$VERSION</span><span style="color: #000000;">; </span>'make'==<span style="color: #800080;">$argv</span>[1] && <span style="color: #800080;">$result</span>=godinit::<span style="color: #000000;">make(); </span>'init'==<span style="color: #800080;">$argv</span>[1] && <span style="color: #800080;">$result</span>=godinit::<span style="color: #000000;">init(); } </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$result</span><span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> <span style="color: #ff00ff;">PHP_EOL</span><span style="color: #000000;">; </span>?>
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享。但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的《 PHP魔鬼训练课第一阶段》。本学习笔记小卒于博客园首发, 如需转载请尊重老师劳动,保留沈逸老师署名以及课程来源地址。
上一课:沈逸老师PHP魔鬼特训笔记(2)