PHP 言語の学習からわかることは、要件:
1. 新しいプロジェクト データがサイトにリンクされるたびに、プロジェクトに変更を加える必要があります (古いプロジェクトをコピーし、パラメーターを変更する)
2 . さまざまなプロジェクトで動作するデータ テーブル内のさまざまなフィールドを変更します。
要件分析:
1. さまざまなプログラム ファイルを生成するか、構成ファイルを読み取ることで実現できます。 (ただし、最初のテーブルの方がサイト全体のアーキテクチャに適しています)
2. 操作する必要があるさまざまなプロジェクト テーブルは、プロジェクトの作成時にテーブルに記録され、操作する必要があるものはテーブルから読み込まれます。インターフェイス ファイルの生成時の設定。
そこで、生成したプログラムを置くための関数フォルダーをディレクトリに作成しました。インターフェースが自動的に呼び出すのに便利です。
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></span><span> </span></span></li> <li class=""><span>'; </span></li> <li class="alt"><span> return $content; </span></li> <li class=""><span>} </span></li> <li class="alt"> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></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>?></span></font></strong></span><span> </span> </li></ol>
上記の全文は、PHP クラス ファイルの生成について説明したい関連コードです。