首頁  >  文章  >  php教程  >  沈逸老师PHP魔鬼特训笔记(3)

沈逸老师PHP魔鬼特训笔记(3)

WBOY
WBOY原創
2016-08-29 08:36:481280瀏覽

一、由于上两节课我们把程序放到了/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)

 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn