2012-01-05 10 views
1

私は助けが必要です。私はウェブサイトのバックエンドで作業しており、複製する代わりに同じコードを再利用できる関数を作成したいと考えています。PHPサイト周辺のセクションを表示する機能はありますか?

だから私のような情報が含まれている特定の「セクション」、持っています:

getQuickInfo今

function getQuickInfo() { 

echo ' 
<div class="portlet"> 
     <div class="portlet-header"> 
      <h4>Quick Info</h4> 
     </div> 

     <div class="portlet-content"> 
      <table cellspacing="0" class="info_table"> 
       <tbody> 
        <tr> 
         <td class="value">'.getCount("total_users").'</td> 
         <td class="full">Total Users</td> 
        </tr> 
        <tr> 
         <td class="value">'.getCount("count_open_requests").'</td> 
         <td class="full">Open Support Requests</td> 
        </tr> 
       </tbody> 
      </table> 
     </div>  
    </div> 
'; 
} 

私はこの間違った方法に近づいています知っているが、それは私がこれを掲示しています理由です質問。しかし、それは私が他のページで再利用したいクック情報セクションの一例に過ぎないので、私が好きなだけどこでもそれを試してみることができますgetQuickInfo()

この例では、その関数はうまくいきます。私はそれを行うためのより良い方法の提案をしたいと思います。また、いくつかの他のセクションでは、簡単なことではありませんいくつかのMySQLのクエリとデータベースから情報を取得し、私はエコー内に格納することはできません。

他の人はどうやってこのようなことを達成しますか?

私は希望の場所に私の主な目標は、出力セクションのことができるようにすることです。

  • getQuickInfo()
  • getAdminNotes()
  • getSupportRequests()

など

ありがとう!

答えて

2

生のHTMLとテンプレートのPHPコードを混同することに嫌悪感を持っている人もいますが、私は他の人が私に同意していないことを知っています。

だから、このようなファイルを作成します:

quickinfo.php

<div class="portlet"> 
    <div class="portlet-header"> 
     <h4>Quick Info</h4> 
    </div> 

    <div class="portlet-content"> 
     <table cellspacing="0" class="info_table"> 
      <tbody> 
       <tr> 
        <td class="value"><?php echo getCount("total_users"); ?></td> 
        <td class="full">Total Users</td> 
       </tr> 
       <tr> 
        <td class="value"><?php echo getCount("count_open_requests"); ?></td> 
        <td class="full">Open Support Requests</td> 
       </tr> 
      </tbody> 
     </table> 
    </div>  
</div> 

を...あなたのメインページで、あなただけ行うことができます。

include('quickinfo.php'); 

あなたは簡単にクエリの結果を使用するために、これを適応させることができます。メインページでクエリを実行し、結果を名前付き変数に代入するだけです。テンプレートページでは、名前付き変数のデータを使用してページを生成します。つまり、結果が同じ名前の変数に保持されている限り、同じコードを使用して異なるクエリに基づいて異なる結果を生成することができます。

1

PHP 5を使用している場合は、PHPのオブジェクト指向サポートを考慮する必要があります。

http://php.net/manual/en/language.oop5.php

あなたがものをプリントアウトした値を保持するメソッドを持つクラスを作成し、このクラスをインスタンス化し、必要に応じて、それは方法だ呼び出すことができますこの方法です。

0

私はPHPの専門家ではありませんが、これらのセクション(それぞれquickinfo.phpadminnotes.phpなど)に別々の.phpファイルを作成する必要があります。あなたは

)それは非常に単純だ場合は、同じファイルにすべてを置くことができ、これはあなたが必要なロジックが複雑すぎるかどうかに依存して、別のファイルにそれらを置くことができ、使用したいところはどこでもその後、あなたは include('quickinfo.php')ような何かをするだろうそれらのセクション。

関連する問題