认真学习php面向对象-1

来源:互联网 发布:fifa online数据库 编辑:程序博客网 时间:2024/06/12 06:27

认真学习php面向对象-1

前言

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

主要完成工作

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

开篇所用到的环境

系统:ubuntu16.04
编辑器:phpstorm2017

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

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

argcargv都是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,mixeddata [, int flags=0[,resourcecontext ]] )
返回值:该函数将返回写入到文件内数据的字节数,失败时返回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;

效果:

这里写图片描述

原创粉丝点击