一、由于上两节课我们把程序放到了/usr/local/bin里面。每次编辑需要sudo 。这节课我们使用PHPSTORM来编辑代码,专门把它拷贝出来,然后放到一个叫做home/godpro的文件夹下。

二、现在我们来做一个拷贝脚本,方便自动把home/godpro下的文件拷贝到/usr/local/bin里面

  1、我们在godpro下创建一个文件叫做done的文件。

echo your password | sudo -S /bin/bash -c ' cp god* /usr/local/bin'
然后给这个done    chmod +x done

三、这节课接触下PHP的类

 class godInit
{
public $god_version=“”;
function genConfig() { ……}
}

  今天我们首先学习静态方法、静态属性的写法.

四、我们设定一个需求:当我们执行godinit ,我们的God会向你提问: 1、询问你的项目的名称是什么? 2、询问项目的作者是什么? 回答后,把这2个值保存在godinit2个静态变量里:

  首先需要补充的知识点:从标准输入中获取用户输入的字符 $getstr=fgets(STDIN);

  好,下面我们新建文件godinit,并创建一个类:

<?php

class godinit   //创建一个类,godinit
{
static $VERSION="god version is 1.1"; //声明一个静态属性$VERSION
static $prj_name=""; //声明一个静态属性项目名称
static $prj_author='shenyi'; //声明一个静态属性项目作者
static function init() //静态方法 init
{
echo "input your project name?".PHP_EOL;
self::$prj_name=fgets(STDIN); //从标准输入中获取用户输入的字符并赋值给静态属性$prj_name echo "input your author name?".PHP_EOL;
self::$prj_author=fgets(STDIN); echo "采集信息如下".PHP_EOL;
echo self::$prj_name.PHP_EOL;
echo self::$prj_author.PHP_EOL;
//return ""
}
}
?>

  在类的内部我们要更改静态变量 就可以使用self; self代表类本身 ,用:: 表示调用类本身的变量或者函数。

  现在god文件应该是:

#!/usr/local/bin/php
<?php require('god_func7');
require("godint.php"); $result='';
if($argc>=2)
{
'-v'==$argv[1] && $result=godinit::$VERSION;
'make'==$argv[1] && $result=godinit::make();
'init'==$argv[1] && $result=godinit::init();
} echo $result;
echo PHP_EOL; ?>

版权声明:笔记整理者亡命小卒热爱自由,崇尚分享。但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的《 PHP魔鬼训练课第一阶段》。本学习笔记小卒于博客园首发, 如需转载请尊重老师劳动,保留沈逸老师署名以及课程来源地址。  

上一课:沈逸老师PHP魔鬼特训笔记(2)

下一课:沈逸老师PHP魔鬼特训笔记(4)

沈逸老师PHP魔鬼特训笔记(3)的更多相关文章

  1. 沈逸老师PHP魔鬼特训笔记(10)

    为了防止代码让我们混淆不清,大家看视频中的分离方法 1.新建了一个文件夹叫code (这代表是代码) 2.再新建一个文件夹叫page (这代表是页面) 代码该怎么写呢? 这里要记住口诀 1.index ...

  2. 沈逸老师PHP魔鬼特训笔记(9)--进化

    回到第一课,我们学过PHP母体,了解过解析PHP程序.PHP其实内置了一个web服务器,专门给我们开发测试使用,那么接下来我们要完成的是:生成后创建一个web 服务,在浏览器中可以访问. PHP的母体 ...

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

    创建模板文件: 这节课老师带领我们开始创建TEMPLATE,按照老师教导的思路,我们希望这样一种代码写法:1.譬如我定义一个变量$name=‘’;2.然后呢我读取一个模板.3.再然后我在这个模板里 设 ...

  4. 沈逸老师PHP魔鬼特训笔记(7)--我叫什么名字

    一.生成文件夹. mkdir():--新建目录 bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false ...

  5. 沈逸老师PHP魔鬼特训笔记(6)--巫术与骨架

    PHP最牛逼的特性之一除了懒人函数,还有一些魔法函数. 首先我们来认识下__tostring,通过一个巫术方法,我们吧实例转化过后的类,直接当字符串输出.结合我们前面所做的功能,我们在类里面加上这个函 ...

  6. 沈逸老师PHP魔鬼特训笔记(5)

    接上一节课,我们专门新建了一个godconfig类,设置了两个属性prj_name(项目名),prj_author(作者),然后我们获取标准输入(stdin)把结果保存在了类里面. 好吧,这节课的名字 ...

  7. 沈逸老师PHP魔鬼特训笔记(4)

    上一课我们通过shell脚本拷贝代码,了解了静态方法和静态属性.(还有个附件PHAR包,我直接无视了) 然后在GOD文件中写了一些参数, 我们也可以这样,把方法名像拼凑字符串一样拼起来. $get_p ...

  8. 沈逸老师PHP魔鬼特训笔记(1)

    此课程个人开发环境可以考虑使用Ubuntu ,推荐sublime和PhpStorm作为开发环境.一.PHP的一大特性是:脚本语言.不要编译,写完就可以运行? 然而并不是....... PHP代码要想运 ...

  9. 沈逸老师PHP魔鬼特训笔记(2)

    一.这一课会学习到几个懒人函数: 1.file_put_contents (PHP 5, PHP 7) file_put_contents — 将一个字符串写入文件 说明 int file_put_c ...

随机推荐

  1. hdu 2819 Swap

    Swap http://acm.hdu.edu.cn/showproblem.php?pid=2819 Special Judge Problem Description Given an N*N m ...

  2. OSPF虚链路配置.示例2

    先看一个拓扑图 黄色区域是area0,即骨干区域,如果如图示RT1与RT6之间的链路断了,那么会出现骨干区域被“分裂”的情况,很明显骨干区域是不能被分割开的,出现这种状况的时候可能会影响到整个自制系统 ...

  3. FullCalendar应用——读取JSON数据

    开发者可以使用FullCalendar创建强大的日历日程应用,FullCalendar提供了丰富的选项设置和方法调用,使得开发者可以轻松的创建各种功能的日历程序.本文将结合实例使用PHP读取MySQl ...

  4. GridView九宫图

    了解下 <!--android:numColumns="auto_fit"--列数设置为自动: android:columnWidth="90dp"--每 ...

  5. android ExpandAbleListView控件

    ExpandAbleListView控件 1.API对ExpandAbleListView的解释:

  6. 1.单一职责原则(Single Responsibility Principle)

    1.定义 就一个类而言,应该仅有一个引起它变化的原因. 2.定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作. 3.优点 类的复杂 ...

  7. URAL 1233 - Amusing Numbers

    首先计算出k至少为第几位,如果m小于这个数,那么输出0 还有一种情况, 就是10的i次方的这种情况,如果i+1等于m,那么直接输出k,否则输出0 其他的情况,就是二分,然后判断计算其插入到k之前的数的 ...

  8. __declspec,__cdecl,__stdcall区别和作用

    _cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的 顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要 ...

  9. Server对象的Execute方法

    Server 对象是专门为处理服务器上的特定任务而设计的,它提供了对服务器上的方法和属性的访问,通过调用这些方法和属性的设置,可以允许用户使用服务器上的许多功能,如可以取得服务器运行环境的功能,但最重 ...

  10. 会吓人的概念证明病毒: Chameleon

    近期有这么一条新闻指出,有一对家长发现,黑客入侵了他们为10个月女儿所准备的婴儿监视器(baby monitor).该黑客除了远程操控该监视器的录像角度,还大声对着小孩喊叫.婴儿的爸爸冲进女儿房间后, ...