2

私は過去 2 年間 .net を使用しており、どこからでもページの任意の場所にコントロールを追加できる方法が気に入っています。たとえば、Head.Controls.add(new LiteralControl("<link rel='stylesheet' type='text/css' href='styles.css' />"))すでに体があっても言えます。

この種のことをphpで行うことは可能ですか?私のサイトは、エージェント、顧客、およびアーティストが存在するように設定されています (これは、展示会でオフラインで使用する顧客アプリケーションを必要とするカード製造会社向けです)。エージェントの追加フォームは、顧客の追加フォームとはスタイルが異なる場合があります。そのため、各タイプを異なるフォルダー (エージェント、顧客、アーティストなど) にそれぞれ独自のスタイルシートと共に配置したいと考えています。GETタイプ (アーティスト、顧客など)、モード (作成、編集) のパラメーター、および ID のオプションのパラメーター (編集モードの場合) を受け取る1 つのフォーム ページがあります。私が現在行っていることではなく、一度$agentForm->generateForm()に呼び出すことができるようにしたいと思います。これは、本体と頭の中で呼び出すことです (開始本体タグがまだ生成されていない状態で)。$agentForm->generateStyleTag()$agentForm->generateForm()$agentForm->generateStyleTag

これを言い換えると、Head タグと Body タグがあります。と呼ばれる別の関数では、と$agentForm->generateHTML()言いたいです。これにより、スタイルがそこにあり、ユーザーがいるサイトのセクションに適していることが保証されるため、新しいページの開発が非常に簡単になります.Body->addChild("bla")Head->addChild("bla")

これを達成することは可能ですか、それとも php と .net の主な違いの 1 つですか?

4

4 に答える 4

5

PHPは本質的に、バッファリングされていない限り、文字列をSTDOUTにスローするように設計されています。これを機能させるには、これをサポートするテンプレートシステムを使用するか、独自のテンプレートシステムを使用する必要があります。全部をロードするか何かを数え、主要な生のDOM操作を行わない限り、「組み込みの」テンプレートシステムはありません。これは非常に遅くなります。全体を実行する予定がない限り、これはお勧めしません。DOMDocument他の多くのDOM変更。PHPテンプレートシステムをGoogleで探し、どれがニーズをサポートしているかを確認します。

于 2010-08-02T15:31:40.550 に答える
3

何かを認識する必要があります。 フレームワークであり、プログラミング言語ではありません.NET。質問は と同じです。リンゴとオレンジを比較していることに注意してください。Can you do this in C#

PHP 言語はチューリング完全なので、もちろん可能です。それを行うためのコードがまだ書かれているという意味ではありません (そうかもしれません) とか、簡単にできるという意味でもありません (誰にもわかりません)。それが可能であることを意味するだけです。

そうは言っても、やりたいことをするためのフレームワークを見つける必要があります。この種の操作を伴う言語はありません (言語全体を制限しすぎるため)。したがって、あなたのタスクはもはや「PHP でこれができるか」ではなく、「これを行うためのフレームワークを見つける必要がある」ということです。フレームワークを調べてみてください。答えは簡単に見つかると思います...

于 2010-08-02T15:39:09.427 に答える
2

PRADOフレームワークとYiiフレームワークを見てください。それらには、ネストと構成を可能にする階層的なコンポーネントベースの哲学があり、より小さなプラグ可能なコンポーネントからサイト全体を構築することが不可欠です.

于 2010-08-02T15:34:14.050 に答える
0

すでに指摘したように、PHPは言語であり、.Netはフレームワークです。2つは非常に異なるものです。

PHPを.Netのスクリプト言語として使用したい場合は、常にPhalangerがあります。

于 2010-08-02T15:51:42.640 に答える