我們在通過對PHP語言的學習可以知道,需求:
1、每次為站點鏈入一個新的項目數據,都需要為該項目做改動(拷貝舊項目,改動參數)
2、改動操作不同項目的數據表的不同字段。
需求分析:
1、可以通過生成不同的程序文件來實現,也可以通過讀取配置文件來實現。(但第一個現在更適合我的整站架構)
2、需要操作的不同的項目表,在創建項目時記錄到表中,然後在生成接口文件的時候從配置中讀取到需要操作的表和字段。
所以呢,我在我的目錄下,專門建立了一個function文件夾,就放我生成的程序.方便接口自動調用
生成PHP類文件的測試代碼如下:
- <?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 = '.$pname.'
- {
- function GetStoppedUsers($dblink, $pidArr)
- {
- ...
- }
- function '.$pname.'OnRecord($data,$link,$type)
- {
- return 'Successful';
- }
- }
- ?>
- ';
- return $content;
- }
- ?>
該文只體現了對文件的寫入操作,生成生成PHP類文件的函數,根據自己的需求寫業務流程。
上文生成的foo.php文件內容為:
- <?php
- class foo
- {
- function GetStoppedUsers($dblink, $pidArr)
- {
- ...
- }
- function fooOnRecord($data,$link,$type)
- {
- return 'Successful';
- }
- }
- ?>
以上全文就是我們要教給大家的有關生成PHP類文件的相關代碼。