私はヘッダーフッターとWebページの他の共通部分を管理するためにUserControlsを利用しているASP.NETで多くのWebアプリケーションを開発しました。今私はPHPでアプリを開発しています、私はUserControlsの代替として使用することができますか?PHPのASP.NETのUserControlsの代わりに?
私はPHPで同様の概念をどのように実装できますか?
ありがとうございます。
私はヘッダーフッターとWebページの他の共通部分を管理するためにUserControlsを利用しているASP.NETで多くのWebアプリケーションを開発しました。今私はPHPでアプリを開発しています、私はUserControlsの代替として使用することができますか?PHPのASP.NETのUserControlsの代わりに?
私はPHPで同様の概念をどのように実装できますか?
ありがとうございます。
ここで詳細に説明するのが少し難しい2番目の答えは、独自の 'UserControl'クラスを構築することです。クラスには必要なプロパティがあり、スクリーンにコントロールを出力するRenderHTML()メソッドがあります。
UserControlの概念はPHPには明示的に存在しませんが、必要な機能をファイルにカプセル化してinclude()関数を使用して、必要なページに配置することができます。
<html>
<head>
<title></title>
</head>
<body>
<?php include('header.php'); ?>
<?php include('pageBody.php'); ?>
<?php include('footer.php'); ?>
</body>
</html>
注Smarty処理やレンダリングのより良い分離を提供し、事のこのタイプは、超滑らかになること。
私はインクルードをよく知っていますが、インクルードを使うとUserControlsで簡単に行うことができるPropertyとして変数を渡すことができません。もっと明確にするために、変数ma usercontrolに変数を渡したいとしましょう。私のウェブサイトのナビゲーションでは、ヘッダ内の現在のメニューを選択したり選択解除したりします。しかし、どのように私はこれを行うことができますインクルードを使用して?? – Prashant
Smartyをチェックしてください。この種のことはテンプレートエンジンを使って可能です。それはあなたのための少しのパラダイムシフトになります。 –
hmmmmmm ...見た目がクールです。これを適用することはできますが、すべてのコントロールに対して、別々のUcontrolクラスを作成する必要がありますか? – Prashant
すべてのコントロールクラスが同じように動作するようにインターフェイスを使用します。しかし、あなたが望むすべてのユーザーコントロールに対して別々のクラスを作成する必要があります。しかしこれはAsp.netでも同じです。すべての通常の継承規則が適用されます.1つのコントロールが別のコントロールなどから継承する可能性があります。 –
はい、すべての異なるコントロールに対して、asp.netでUserControlを作成しなければならず、PHPクラスメソッドにも適用できます。 :) – Prashant