0

私はこの作業を無駄にするためにいくつかの異なる方法を試しました。

基本的に、私は多くの機能にあるこれらの4行を持っています:

function getID($URL){
  //These 3 plus this comment line
    $parentQ = "select * from cdi_content where URL=\"$URL\"";
    $parentResult = mysql_query($parentQ); // Run the Query
    $link = mysql_fetch_assoc($parentResult); // Query Result
...continues...

これは基本的にデータベースに$URLをチェックするように指示し、データベース内のURL文字列と一致する場合は、そのURLに関連付けられているすべてのデータを取得し、必要なものを取得します。

$link['ID'];

これにより、$URLURLに関連付けられたIDが得られます。

この関数は、以下のように、'override'変数($ ID)、デフォルト変数($ defaultID)を出力するか、サーバーからプル($ link ['ID'])する条件のリストをチェックします。'override'は、現在グローバル$IDによって呼び出されている関数の外部の変数です。

$ID = ''; //Overrides if set
function parseData($URL){
  //Initialize Query for Table Data
    $parentQ = "select * from cdi_content where URL=\"$URL\"";
    $parentResult = mysql_query($parentQ); // Run the Query
      return mysql_fetch_assoc($parentResult); // Query Result  
};
function getID($URL){
  global $ID;
  $serverID = parseData($URL);
    if(empty($ID)){
      if(empty($serverID)){
        echo $defaultID; 
      } else { echo $serverID['ID']; }
    }//end of ifs
    else 
      { echo $ID; } 
};
4

2 に答える 2

1

私があなたを正しく理解している場合、あなたはその関数をリファクタリングしようとしているだけなので、書き直す必要はありません。あれは正しいですか?

その場合、次のような新しい関数を抽出できます。

function getLink($URL){
    $parentQ = "select * from cdi_content where URL=\"$URL\"";
    $parentResult = mysql_query($parentQ); // Run the Query
    return mysql_fetch_assoc($parentResult);
}

そして、次のように呼び出します。

function getID($URL){
    $link = getLink($URL);
}
于 2013-03-01T21:41:24.270 に答える