php魔鬼训练课训练第一阶段,沈逸老师PHP魔鬼特训笔记(3)

一、由于上两节课我们把程序放到了/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,并创建一个类:

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

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魔鬼特训笔记(10)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

用Model-View-ViewModel构建iOS App(转)

转载自 Model-View-ViewModel for iOS [译] 如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller, 即MVC.MVC是构建iOS a ...

UML建模语言入门 -- 用例视图详解 用例视图建模实战

. 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...

u1-nav-html

[LeetCode] Best Time to Buy and Sell Stock III

将Best Time to Buy and Sell Stock的如下思路用到此题目 思路1:第i天买入,能赚到的最大利润是多少呢?就是i + 1 ~ n天中最大的股价减去第i天的. 思路2:第i天买 ...

c++之路起航——指针

c++一阶指针 定义 存储类型名 数据类型 * 指针变量名: Eg:int *a://定义了一个指向整型的指针 a: 指针使用方法 int a,*b; b=&a;//表明将a的地址赋值给b: ...

jQuery右键菜单ContextMenu使用笔记

插件下载地址:http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.packed.js 和http://ww ...

AVR GCC对端口的操作指南

1. AVR GCC for AVR I.I/O端口API1. BV用法:BV(pos);说明:将位定义转换成屏蔽码(MASK).与头文件io.h里的位定义一起使用.例如,置位WDTOE和WDE可表示 ...

Java编码与乱码问题

一.为什么要编码? 由于人类的语言太多,因而表示这些语言的符号太多,无法用计算机的一个基本的存储单元----byte来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解. byte一个字节即8 ...

hadoop完全分布式的安装

下载地址: centos 7.5 下载地址 清华 http://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DV ...

GO语言基础语法

1. Go项目的目录结构 一般的,一个Go项目在GOPATH下,会有如下三个目录: project   --- bin   --- pkg   --- src 其中,bin 存放编译后的可执行文件:p ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值