我们在通过对php语言的学习可以知道,需求:
1、每次为站点链入一个新的项目数据,都需要为该项目做改动(拷贝旧项目,改动参数)
2、改动操作不同项目的数据表的不同字段。
需求分析:
1、可以通过生成不同的程序文件来实现,也可以通过读取配置文件来实现。(但第一个现在更适合我的整站架构)
2、需要操作的不同的项目表,在创建项目时记录到表中,然后在生成接口文件的时候从配置中读取到需要操作的表和字段。
所以呢,我在我的目录下,专门建立了一个function文件夹,就放我生成的程序.方便接口自动调用
生成php类文件的测试代码如下:
<ol class=dp-xml><li class=alt><span><span><font color=#5c5c5c><</font>?php </span></span><li class=""><span>//搞个项目名称,就叫foo </span><li class=alt><span>$</span><span class=attribute><font color=#ff0000>item_name</font></span><span> = </span><span class=attribute-value><font color=#0000ff>'foo'</font></span><span>; </span></span><li class=""><span>//生成的程序文件的位置 </span><li class=alt><span>$</span><span class=attribute><font color=#ff0000>file</font></span><span> = </span><span class=attribute-value><font color=#0000ff>'./function/'</font></span><span>.$item_name.'.php'; </span></span><li class=""><span>//创建程序的函数,获取到相应项目的相应类函数 </span><li class=alt><span>$</span><span class=attribute><font color=#ff0000>content</font></span><span> = </span><span class=attribute-value><font color=#0000ff>createitemprogram</font></span><span>($item_name); </span></span><li class=""><span>//创建文件 </span><li class=alt><span>createsoapfunction($file,$content); </span><li class=""><span>//定义创建接口文件的函数 </span><li class=alt><span>function createsoapfunction($file,$content) </span><li class=""><span>{ </span><li class=alt><span> if (!file_exists($file)) </span><li class=""><span> { //文件不存在 </span><li class=alt><span> $</span><span class=attribute><font color=#ff0000>handle</font></span><span> = </span><span class=attribute-value><font color=#0000ff>fopen</font></span><span>($file, "w"); </span></span><li class=""><span> if($handle) </span><li class=alt><span> { </span><li class=""><span> echo '创建文件成功'; </span><li class=alt><span> $</span><span class=attribute><font color=#ff0000>cont</font></span><span> = </span><span class=attribute-value><font color=#0000ff>fwrite</font></span><span>($handle, $content); </span></span><li class=""><span> if($</span><span class=attribute><font color=#ff0000>cont</font></span><span> === false) </span></span><li class=alt><span> { </span><li class=""><span> echo "不能写入到文件 $file"; </span><li class=alt><span> } </span><li class=""><span> else </span><li class=alt><span> { </span><li class=""><span> echo "$file 写入成功"; </span><li class=alt><span> } </span><li class=""><span> } </span><li class=alt><span> else </span><li class=""><span> { </span><li class=alt><span> echo '创建文件失败'; </span><li class=""><span> } </span><li class=alt><span> } </span><li class=""><span> else </span><li class=alt><span> { //文件已经存在 </span><li class=""><span> if (is_writable($file)) </span><li class=alt><span> { </span><li class=""><span> echo '文件可写'; </span><li class=alt><span> $</span><span class=attribute><font color=#ff0000>handle</font></span><span> = </span><span class=attribute-value><font color=#0000ff>fopen</font></span><span>($file, "w"); </span></span><li class=""><span> $</span><span class=attribute><font color=#ff0000>cont</font></span><span> = </span><span class=attribute-value><font color=#0000ff>fwrite</font></span><span>($handle, $content); </span></span><li class=alt><span> if($</span><span class=attribute><font color=#ff0000>cont</font></span><span> === false) </span></span><li class=""><span> { </span><li class=alt><span> echo "不能写入到文件 $file"; </span><li class=""><span> } </span><li class=alt><span> else </span><li class=""><span> { </span><li class=alt><span> echo "$file 写入成功"; </span><li class=""><span> } </span><li class=alt><span> } </span><li class=""><span> else </span><li class=alt><span> { </span><li class=""><span> echo '文件不可写'; </span><li class=alt><span> } </span><li class=""><span> } </span><li class=alt><span>} </span><li class=""><span>//定义创建新文件的内容 </span><li class=alt><span>function createitemprogram($pname) </span><li class=""><span>{ </span><li class=alt><span> $</span><span class=attribute><font color=#ff0000>content</font></span><span> = </span><span class=attribute-value><font color=#0000ff>'.$pname.'</font></span><span> </span></span><li class=""><span>{ </span><li class=alt><span> function getstoppedusers($dblink, $pidarr) </span><li class=""><span> { </span><li class=alt><span> ... </span><li class=""><span> } </span><li class=alt><span> </span><li class=""><span> function '.$pname.'onrecord($data,$link,$type) </span><li class=alt><span> { </span><li class=""><span> return 'successful'; </span><li class=alt><span> } </span><li class=""><span>} </span><li class=alt><span></span><span class=tag><strong><font color=#006699>?></font></strong></span><span> </span></span><li class=""><span>'; </span><li class=alt><span> return $content; </span><li class=""><span>} </span><li class=alt><span></span><span class=tag><strong><font color=#006699>?></font></strong></span><span> </span></span></li></ol>该文只体现了对文件的写入操作,生成生成php类文件的函数,根据自己的需求写业务流程。
上文生成的foo.php文件内容为:
<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>class foo </SPAN><LI class=alt><SPAN>{ </SPAN><LI class=""><SPAN> function GetStoppedUsers($dblink, $pidArr) </SPAN><LI class=alt><SPAN> { </SPAN><LI class=""><SPAN> ... </SPAN><LI class=alt><SPAN> } </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN> function fooOnRecord($data,$link,$type) </SPAN><LI class=""><SPAN> { </SPAN><LI class=alt><SPAN> return 'Successful'; </SPAN><LI class=""><SPAN> } </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN> </SPAN></LI></OL>以上全文就是我们要教给大家的有关生成PHP类文件的相关代码。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号