私はあなたの HTML がどのように構築されているか、実際にどのような情報を保存しているか、そしてその機密性に大きく依存しています。
たとえば、次のような場合:
<div id="my-component-root">
<div class="common-content">
</div>
<!--{if[admin]}-->
<div class="admin-content">
Welcome %User, You have logged in as Administrator
</div>
<!--{endif[admin]}-->
<!--{if[captain]}-->
<div class="captain-content">
Hello, you are not Administrator.
</div>
<!--{endif[captain]}-->
</div>
したがって、ユーザーは userlevel=captain でここに来て、div
キャプテン コンテンツがロードされ、その逆も同様です。すべてが静的ですが、コードの束でもあります。
クラスが存在する onEvent にテキストを配置する別の機会があります。したがって、クラスを動的に構築し、構築されたクラスにコンテンツをロードすることができます。@Friend と Me は既に回答とコメントに記述されています。機密性の高いコンテンツがある場合、この方法はより安全ではありません。誰かがあなたの HTML を編集し、クラス名に応じてコンテンツを受け取ることができるからです。
現代のアーキテクチャでは、コンテンツは静的でもなく、ソースに記述されていません。たとえば、ロジックに userLevel ロジックが含まれている場合、「Hello admin」または「Hello user」のいずれかで挨拶するだけでなく、管理者には許可され、ユーザーには許可されない特定のオプションもロードする必要があることを意味します。
このように、いくつかのものが必要です。
- 管理者に許可されている機能をファイルに分けます。つまり、admin_edit_profile.php ...
- 指定されたプレースホルダーでテキスト構築を可能にするメソッド (翻訳メソッド) を作成します
- level() が admin_profile.php に渡されるインクルード ファイルでセキュリティ チェックを行います。
if ($userLevel != 'admin') die())
roles()
** クラス UserLevelに、どの役割が割り当てられているかで誰でもできることを与えるメソッドがあると仮定しましょうedit_profile
。level()
レベルを返すメソッド(admin、user...) **
これで、次のことができます。
<div id="my-component-root">
<div class="common-content">
</div>
<?php foreach($userLevel->roles() as $role):
<div class="<?=$userLevel->level();?>-content">
<?php require_once "$userLevel->level()" . "_" . "$role" . ".php"; ?>
<?= __('placeholder_text_for_translation_for_role' . $role); ?>
</div>
<?php endforeach; ?>
これで、翻訳された ie のコンテンツをplaceholder_text_for_translation_for_role_edit_profile
データベースに保存し、インクルードの直後にその翻訳 (英語のテキスト) を返すことができます。
このようにして、管理者プロファイル編集のオプションを含むファイルが含まれます
<?php require_once "admin_edit_profile.php"; ?>
そしてそれのためのテキスト
<?= "Here you can edit user profiles"; ?>
したがって、構築されるコンテンツ全体は次のようになります。
<div id="my-component-root">
<div class="common-content">
</div>
<div class="admin-content">
<?php require_once "admin_edit_profile.php"; ?>
<?= "Here you can edit user profiles"; ?>
</div>