include_once("./comm/Smarty.class.php"); //smarty クラス ファイルをインクルード
$smarty = new Smarty() //smarty インスタンス オブジェクトを作成する $smarty
$smarty->templates("./templates) "); //テンプレートディレクトリを設定します
$smarty->templates_c("./templates_c"); //コンパイルディレクトリを設定します
//****皆さん注意してください、私はここの新しいメンバーです****//
$smarty->cache(" ./cache"); //キャッシュディレクトリを設定します
$smarty->cache_lifetime = 60 * 60 * 24; //キャッシュ時間を設定します
$smarty->caching = true; //キャッシュ方法を設定します
/ /--- -------------------------------------------
/ /左右の境界文字、デフォルトは {} ですが、実際のアプリケーションでは JavaScript
// と競合しやすいため、 などに設定することをお勧めします。
//----------------------------------------------- --- -----
$smarty->left_delimiter = "$smarty->right_delimiter = "}>assign("name", "Li Xiaojun"); //テンプレート変数を置き換えます
// ./templates にあるindex.tpl テンプレートをコンパイルして表示します
$smarty->display("index.tpl");
?>
Smarty プログラム その一部は、実際には PHP 言語仕様に準拠したコードのセットです。 順番に説明しましょう:
1. /**/ステートメント:
含まれる部分はプログラムのヘッダーコメントです。主な内容は、プログラムの機能、著作権、作者、執筆時間についての簡単な紹介である必要があります。smarty ではこれは必要ありませんが、プログラムのスタイルの観点からは、これは良いスタイルです。
2. include_once ステートメント:
Web サイトにインストールされている Smarty ファイルを現在のファイルにインクルードします。インクルードされるパスは正しく記述されている必要があることに注意してください。
3. $smarty = new Smarty():
この文は、オブジェクトの単純なインスタンス化である新しい Smarty オブジェクト $smarty を作成します。
4. $smarty->templates(""):
この文は、$smarty オブジェクトが tpl テンプレートを使用する場合のパスを指定します。この文がない場合、Smarty のデフォルトのテンプレート パスは現在のディレクトリのテンプレート
ディレクトリです。実際のディレクトリ プログラムを書くときは、この文を明確に書く必要があります。これも良いプログラミング スタイルです。
5. $smarty->templates_c(""):
この文は、$smarty オブジェクトがコンパイルされるディレクトリを指定します。テンプレート設計の章では、Smarty がコンパイルされたテンプレート言語であり、このディレクトリがテンプレートをコンパイルするディレクトリであることをすでに知っています。サイトが *nix サーバー上にある場合は、teamsplates_c で定義されたディレクトリであることを確認してください。デフォルトでは、そのコンパイルディレクトリ
は現在のディレクトリの templates_c にあります。これを明示的に書き込みます。
6. $smarty->left_delimiter および $smarty->right_delimiter:
テンプレート変数を検索するときの左区切り文字と右区切り文字を示します。デフォルトでは「{」と「}」ですが、実際にはテンプレート内で<script>を使用する必要があるため、スクリプト内の関数定義は必然的に{}を使用することになりますが、独自の解決策があります。これを「<{」と「}>」または「<!--{」と「}-->」または他の識別子として再定義するのが慣例です。たとえば、ここでは「<{」と「}>」として指定されており、それに応じて tpl テンプレートでも <BR>{ $ を使用する必要があります。 name} は <{$name}> になるため、プログラムはテンプレート変数を正しく見つけることができます。 <BR>7. $smarty->cache("./cache"): <BR>出力テンプレート ファイルのキャッシュの場所を Smarty に伝えます。前回の記事で、Smarty の最大の利点はキャッシュできることであることがわかりました。キャッシュを設定するディレクトリは次のとおりです。デフォルトでは、これは現在のディレクトリ内のキャッシュ ディレクトリであり、*nix システムでは、templates_c ディレクトリに相当し、読み取り可能および書き込み可能であることを確認する必要があります。 <BR>8. $smarty->cache_lifetime = 60 * 60 * 24: <BR> キャッシュの有効期間は秒単位で計算されます。最初のキャッシュ時間が経過したときに Smarty キャッシュ変数が true に設定されている場合、キャッシュは再構築されます。 <BR> 値が -1 の場合、確立されたキャッシュが期限切れにならないことを意味し、0 の場合、プログラムが実行されるたびにキャッシュが常に再確立されることを意味します。上記の設定は、cache_lifetime を 1 日に設定することを意味します。 <BR>9. $smarty->caching = 1: <BR>この属性は、Smarty にキャッシュするかどうか、およびキャッシュする方法を指示します。 3 つの値を取ることができます。0: Smarty のデフォルト値。テンプレートをキャッシュしないことを意味します。1: <BR>Smarty が現在定義されているcache_lifetime を使用してキャッシュを終了するかどうかを決定することを意味します。価値を生み出した。キャッシュするかどうかを示すには、true と false を使用するのが一般的です。<BR>10. $smarty->assign("name", "Li Xiaojun"): <BR>この数値のプロトタイプは assign(string varname,mixed var)、varname はテンプレートで使用されるテンプレート変数、var はテンプレート変数は置き換える必要があります の変数名をすべて使用します。 <BR>11. $smarty->display("index.tpl"): <BR>この関数のプロトタイプは、テンプレートを表示するために使用される display(string varname) です。簡単に言うと、分析および処理されたテンプレートが表示されます。ここでは、ファイル名を使用するだけで済みます。 ) 合格。 <BR>プログラムが実行された後、現在のディレクトリにある templates_c ディレクトリとキャッシュ ディレクトリを開くと、さらにいくつかの %% ディレクトリがあることがわかります。これらのディレクトリは、Smarty のコンパイル ディレクトリと <BR> キャッシュ ディレクトリです。これらの生成されたファイルはプログラムによって直接変更されません。 <BR>Smarty プログラムでよく使用されるいくつかの基本要素を簡単に紹介しました。次の例では、それらが複数回使用されることがわかります。 <BR> 次に、section ループ ブロックと foreach ループ ブロックを紹介します。本来はテンプレート部分に属するものですが、smarty の本質であり、smarty プログラミング部分 <BR> と非常に密接に関係しているため、説明します。このセクションでは別途説明します。 <BR>1. foreach: 単純な配列をループするために使用されます。その定義形式は次のとおりです: <BR>{foreach from=$array item=array_id} <BR>{foreachelse} <BR>{/foreach} <BR> ここで、from は配列を示します。 item はループする変数の名前です。ループの回数は from で指定された配列変数の数によって決まります。 {foreachelse} は、プログラムで渡された配列が空の場合の処理に使用されます。簡単な例を次に示します。 <BR>======================= == ================== <BR>example6.tpl <BR>========================== = ================= <BR><html> <BR><head><title>これは foreach の使用例です。 body> <BR>ここに配列が出力されます: <br> <BR>{foreach from=$newsArray item=newsID} <BR>ニュース番号: {$newsTitle}<br> ;hr> <BR>{foreachelse} <BR>申し訳ありませんが、データベースにはニュース出力がありません。 <BR>{/foreach} <BR></script>

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。

XSS攻撃を防ぎ、リソースのロードを制限し、ウェブサイトのセキュリティを改善できるため、CSPは重要です。 1.CSPはHTTP応答ヘッダーの一部であり、厳格なポリシーを通じて悪意のある行動を制限します。 2。基本的な使用法は、同じ起源からのロードリソースのみを許可することです。 3.高度な使用法は、特定のドメイン名がスクリプトやスタイルをロードできるようにするなど、より微調整された戦略を設定できます。 4。CSPポリシーをデバッグおよび最適化するには、コンテンツセキュリティポリシーレポートのみのヘッダーを使用します。

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

HTTPSは、HTTPに基づいてセキュリティレイヤーを追加するプロトコルであり、主に暗号化されたデータを介してユーザーのプライバシーとデータセキュリティを保護します。その作業原則には、TLSの握手、証明書の確認、暗号化された通信が含まれます。 HTTPSを実装する場合、証明書管理、パフォーマンスへの影響、および混合コンテンツの問題に注意を払う必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック



