Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246746
  • 博文数量: 76
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 745
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-28 16:04
文章分类

全部博文(76)

文章存档

2013年(2)

2010年(21)

2009年(53)

我的朋友

分类:

2009-11-09 17:45:16

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

需求:
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';
    }
}
?>


阅读(610) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~