PHP程序 生成PHP类文件

611阅读 0评论2009-11-09 dongyue91
分类:

鉴于工作,老是有重复的工作要去做,但是本人太懒,重复的工作,就不愿意去做,就写了这么个小东西来帮我工作.

需求:
1、每次为站点链入一个新的项目数据,都需要为该项目做改动(拷贝旧项目,改动参数)
2、改动操作不同项目的数据表的不同字段。

需求分析:
1、可以通过生成不同的程序文件来实现,也可以通过读取配置文件来实现。(但第一个现在更适合我的整站架构)
2、需要操作的不同的项目表,在创建项目时记录到表中,然后在生成接口文件的时候从配置中读取到需要操作的表和字段。

所以呢,我在我的目录下,专门建立了一个function文件夹,就放我生成的程序.方便接口自动调用

测试代码如下:

<?php

//搞个项目名称,就叫foo
$item_name = 'foo';

//生成的程序文件的位置
$file = './function/'.$item_name.'.php';

//创建程序的函数,获取到相应项目的相应类函数
$content = createItemProgram($item_name);
//创建文件
createSoapFunction($file,$content);


//定义创建接口文件的函数
function createSoapFunction($file,$content)
{
    if (!file_exists($file))
    {    //文件不存在
        $handle = fopen($file, "w");
        if($handle)
        {
            echo '创建文件成功';
            $cont = fwrite($handle, $content);
            if($cont === FALSE)
            {
                echo "不能写入到文件 $file";
            }
            else
            {
                echo "$file 写入成功";
            }
        }
        else
        {
            echo '创建文件失败';
        }
    }
    else
    {    //文件已经存在

        if (is_writable($file))
        {
            echo '文件可写';
            $handle = fopen($file, "w");
            $cont = fwrite($handle, $content);
            if($cont === FALSE)
            {
                echo "不能写入到文件 $file";
            }
            else
            {
                echo "$file 写入成功";
            }
        }
        else
        {
            echo '文件不可写';
        }
    }
}

//定义创建新文件的内容
function createItemProgram($pname)
{
    $content = ' class '.$pname.'
{
    function GetStoppedUsers($dblink, $pidArr)
    {
        ...
    }
    
    function '
.$pname.'OnRecord($data,$link,$type)
    {

        return \'Successful\';
    }
}
?>
'
;
    return $content;
}
?>


该文只体现了对文件的写入操作,生成的函数,根据自己的需求写业务流程。
上文生成的foo.php文件内容为:

<?php
class foo
{
    function GetStoppedUsers($dblink, $pidArr)
    {
        ...
    }
    
    function fooOnRecord($data,$link,$type)
    {
        return 'Successful';
    }
}
?>


上一篇:.htaccess 伪静态页
下一篇:Algorithm Gossip河内塔