2012-02-06 17 views
-1

私はいつもこれについて考えてきました。私は何をすべきかを決めることができません。私は<div>があり、ユーザーが管理者または唯一のメンバーであれば、その中に特定のリンクを表示したいとします。PHP - エコーだけでテキストまたはDivsとレイアウト?

<div>をHTMLに含めるのが最善で、その中にはifエコーが含まれていますか?

また、div全体とその中のすべてをエコーする必要がありますか?

divが空である可能性はありません。

+0

フレームワークとテンプレートエンジンに依存しますが、使用している場合は、次のコードを使用します: '<?php if(...){echo $ this-> displayThatLink();}' – Vyktor

+0

@Vyktorフレームワークをテンプレートエンジンとしますか?とにかく、私はそれも読んで、エラーを起こしにくいです。 –

+0

@DamienPirsy YIC、Zendなどの強力なフレームワークを持っているときは、PHPからコードを書くのは効果がないようです。 – Vyktor

答えて

0

おそらく、(単純なアプリケーションのための)のようなコードで行く必要があります。

<div class="nav"> 
    <a href="/">Index</a> 
    <a href="/profile">Profile</a> 
<?php 
    if($this->isAdmin()){ 
    echo $this->getAdminLinks(); 
    } 
?> 
</div> 

というか、このような何か:

<?php 
    echo $this->getAdminLinks(); 
?> 

や機能を表示するかしないかどうかについて、その関数のケアをしましょう。たとえばZend uses inline php phtmlのテンプレート(と私は勉強する場所でZend素晴らしい場所を考える)。あなたは、複雑なアプリケーション(複数のスタイル、複雑なナビゲーション、メニューを生成するために、どのようにページや多くの条件の多くの異なる種類)を構築しているか、MVCフレームワークを使用する場合は

、あなたはコードと一緒に行く必要があります。

<?php 
    echo $this->getNavigation(); 
?> 

このようなコードは、(このような70行を想像)読むことは本当に難しいことがあります。

<a href="one">One</a> 
<?php echo $this->getSecond(); ?> 
<a href="third">Third</a> 
<?php // some crazy stuff with 2 submenu levels 
?> 

とにかく、これを行うには誰も「良い方法は」ありません、それはすべてあなたが必要なものに基づいて、どのようにあなたがあなたを好きです書かれたコード。

+0

そして、関数getAdminLinksは実際にすべての作業?すべてをエコーし​​ますか?関数を呼び出すだけで、場所がわかりますか? – Depetrify

+0

私は次のように書いています: 'if(!$ this-> isAdmin()){return '';} return ''' – Vyktor

関連する問題