2012-04-09 51 views
0

PHPのinclude関数を使用してコードをより明確にしようとしています。私は自分のページの3つで同じコード部分を使用していますが、このページの1つはコードのこの部分を実行したときと同じページです。だから代わりにPHP_SELFと同じページのURL

action="<?=$_SERVER['PHP_SELF']?>" 

このページのリンク(action = "thispage.php")を使用することはできますか?また、コードを使用するには、まったく同じものを使用する必要がありますか?私は、私のコードの部分がほとんど同じであることを意味します。小さなものだけが変わるだけです。それぞれのページには、選択したリンクに適用するCSSスタイルがあります。コードの一部を変更する方法はありますか?ありがとうございました!

答えて

1

はい、できます。フォーム上にあるときは、はるかに簡単な方法はaction=""を使用することです。空の文字列は、ブラウザが現在表示しているページにフォームを送信するように指示します。

ファイルを含めるときは、ファイルに実際に含まれているため、現在のスコープ内のすべての変数を「継承」します。ファイル内に変数を定義し、その変数を他のファイル内の条件内で使用して、その変数が何をすべきかを判断することができます。

0

さてあなたは、あなたがにパラメータの数を渡すことができる機能を作ることができる:

あなたがからを含めているファイルでvariblesを設定jsut機能せずに同じことを行うことができます。もちろん、
function include_partial($path, $options = array()) { 
    extract($options); // import array keys as local variables 
    include($file); 
} 

// usage 
include_partial('/path/to/file', array('action' => $_SERVER['PHP_SELF']); 

$action = $_SERVER['PHP_SELF']; 
include('/path/to/file'); 

私がこの機能について気に入っているのは、変数をスコープして、グローバルスコープを継続的に使用していないことです。

関連する問題