认真学习php面向对象-1

认真学习php面向对象-1

前言

准备写一个认真学习php面向对象的系列,使用php来做网页,没有深入了解php的话,可能三板斧就够了,并不需要有多高深!如有错误,欢迎各位不吝赐教!进度安排的话,我学到哪里,就更新到哪里了!形式的话就采用一个需求小案例,然后实现,并附上自己的总结,文章源码

主要完成工作

  1. 使用命令行模式模拟编译文件以及创建文件
  2. 实现简单的网站骨架以及mvc路由伪编译的作用

开篇所用到的环境

系统:ubuntu16.04
编辑器:phpstorm2017

需求 :1)在终端命令行下执行脚本文件并输入参数-v,然后显示版本号

解决 : 需要用到php的预定义变量 argc argv

argc argv都是php的预定义变量,可以接收到命令行下下时传递给当前脚本的参数的数组。argc是参数的个数,argv是传递给脚本的参数数组

实现 :
$result='';
if ($argc>=2) {
    '-v'==$argv[1] && $result ='the version is 1.0';
}
echo $result;
echo PHP_EOL;
效果 :

这里写图片描述

需求 :2)在终端命令行下执行脚本文件并输入参数init,在当前目录下生成一个json文件

**解决 : file_put_contents,官网用法如下:

int file_put_contents ( string filename,mixed data [, int flags=0[,resource context ]] )
返回值:该函数将返回写入到文件内数据的字节数,失败时返回FALSE

实现 :
$result='';
    if ($argc>=2) {
        '-v'==$argv[1] && $result ='the god version is 1.0';
        '-init'==$argv[1] && $result =file_put_contents(getcwd().'/god.json','{}').' of bytes is written.'
        .PHP_EOL.'god.json is created!';
    }
    echo $result;
    echo PHP_EOL;
效果 :

这里写图片描述

这里写图片描述

需求 :3)判断当前php版本

**解决 : substr函数,常量PHP_VERSION
实现 :
substr(PHP_VERSION,0,1);
效果 :

这里写图片描述

需求 :3)使用面向对象改造面向过程代码

**解决 : 创建类,封装函数
实现 :
god_class.php
class god_calss
{
   static $version="the god version is 1.0";
   static public function version() {
       return self::$version;
   }
   static public function  getconfig() {
       return file_put_contents(getcwd().'/god.json','{}').' of bytes is written.'
    .PHP_EOL.'god.json is created!';
   }
}
god.php
require ("god_calss.php");
    $result='';
    if ($argc>=2) {
        '-v'==$argv[1] && $result =god_calss::version();
        '-init'==$argv[1] && $result =god_calss::getconfig();
    }

    echo $result;
    echo PHP_EOL;

需求 :4)使用STDIN获取命令行输入

**解决 : fgets(从文件指针中读取一行),STDIN(标准输入对象,c语言)
实现 :
god_class.php
 static function init() {
       echo "input your project_name?".PHP_EOL;
       self::$prj_name=fgetc(STDIN);
       echo  "input your author_name?".PHP_EOL;
       self::$author=fgetc(STDIN);
       echo "your input:";
       echo self::$prj_name.PHP_EOL;
       echo self::$author.PHP_EOL;
   }
god.php
require ("god_calss.php");
    $result='';
    if ($argc>=2) {
        '-v'==$argv[1] && $result =god_calss::version();
        '-init'==$argv[1] && god_calss::init();
    }

    echo $result;
    echo PHP_EOL;
效果:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值