TMDPHP テンプレート エンジンの使用方法チュートリアル_PHP チュートリアル
PHPの世界でテンプレートエンジンを語るとき、Smartyから始めることは避けられませんが、
このちょっとオフィシャル色の入った非常に愚かなテンプレートエンジン
のような正義感と革新的なスピリットを持った情熱的な若者のウェブサイトがなかったら私、出てきてください
PHP についての美しい空想に満ちた、働き盛りの若者たちを毒し続けるティーンエイジャーがどれだけいるかわかりません。
1. 文法
あなたは本当は {foreach key=key item=item from=$contact} を学習できると思っていますが、そのような構文は学習できません
$item) ) { ?>?
そして {if $name eq "Fred" or $name eq "Wilma"}
は go?
まず第一に、私はアーティストが Smarty 構文を学ぶことに常に懐疑的でした
そして、たとえアーティストが学ぶ意欲があるとしても、少なくとも私は Smarty 構文を知っている人に会ったことがありません。彼に本物の PHP 構文を教えますか? 自分でも理解できない「Smarty 言語」を教えてください
2. 視覚化
ページがアーティストから渡されると、その完璧な言語に嫌な Smarty コードを挿入します。 Web ページを作成し、
それを Dreamweaver で使用します。これらのページがどれほど醜くなったかを真剣に見たことがありますか?
写真はまだ表示されていますか? CSSはまだ存在しますか?含めるのは言うまでもありません。そして、変化を起こす時期が来たときはどうでしょうか?まだ一目でそれとわかるでしょうか?
これらが解決できない場合、いわゆるテンプレート エンジンがどのようにして「強力」という言葉に値するのでしょうか?
3....
ここでは Smarty を例として取り上げますが、他のテンプレート エンジンも同様であることを見つけるのは難しくありません。 、しかし、解決する必要がある本当の問題は次のとおりです。それから、それについて話すのは避けてください。
いわゆるテンプレートエンジンといわゆるパワーがすべてクソ嘘つきであることがわかりましたか?
真夜中に、私は目が覚めました。この残酷な事実を伝えることはできないので、私の負担はさらに重くなったと感じました。
それで、私は悲しみに暮れ、忙しいスケジュールの合間を縫って、この tmd_tpl という名前の本物のテンプレート エンジンを作成しました。
今は強力ではないかもしれませんが、将来的には強力であることが避けられないことです。
· tmd_tpl の使用の概要:
次に、tmd_tpl の使用方法を学びましょう。プロセスは他のテンプレート エンジンとあまり変わりません。
1. テンプレートエンジンを初期化します
require '../tmdphp/tmd_tpl.php' / / 変更してください
// tmd_tpl が配置されているパスの tmd_tpl をインスタンス化します
$TPL = new tmd_tpl();
// 以下は tmd_tpl を構成する手順です
// スラッシュで終わるテンプレート ディレクトリを指定します
$TPL- >tpl_dir = './ tpl/';
// テンプレート ファイルの拡張子を指定します
// Dreamweaver の PHP コードに強調表示効果があるため、サフィックスとして php を使用することをお勧めします。
// さらに、プレビューのために Chrome ブラウザーで直接開くことができ、IE で開くとダウンロードを求めるメッセージが表示されます。
$TPL->tpl_ext = '.tpl.php';
// コンパイルしたテンプレートの保存ディレクトリを指定
$TPL->cache_dir = './tpl_c/';
//コンパイルされたファイル、単位: 秒
$TPL->cache_time = 0; // 0 は毎回再コンパイルすることを意味し、-1 は期限切れにならないことを意味します、
// カスタムの定期的な置換
$TPL->my_rep = array(
'~ ( ../)+static/~' => '/proj-1/static/',
// ↑プロジェクトのアクセスアドレスが http://localhost/proj-1/ の場合
// ここでカスタム置換テクニックはたくさんあるので、入門段階では書きません
2. 値を割り当ててページを表示します
コードをコピーします
// 通常の割り当て
$TPL->assign('site_name', '王道中强流');
$TPL->assign('site_intro', '私は PHP プログラマーであり、tmd_tpl の作者です。 ');
// 配列をサポートします
$blog = array(
'title' => 'TMD の Smarty に移動',
'content' => 'tmd_tpl の使い方を説明する前に、その理由を説明したいと思います。車輪の再発明
いわゆる PHP テンプレート エンジンが皆さんにどのような貢献をしてきたかから始めましょう
PHP の世界でテンプレート エンジンについて話すとき、Smarty を使用することは避けられません
これは非常に愚かなことです。 . ちょっと公式色が強いテンプレートエンジン
私のような正義感と革新的な精神を持った情熱的な若者が立ち上がらなかったら
どれだけの人が続くか分かりません。 PHP についての美しさに満ちた盛りの人々を毒してください。 ',
// 一般的に言えば、2 次元配列で十分です。 'addtime' => '2012.3.11',
'author ' => '王中强',
'weibo' => 'http://t.qq.com/teeband',
),
); $TPL->assign('blog', $blog) ;
// テンプレートは、この配列のループ出力を示します
$links = array(
'Script Home' => 'http://www.jb51. net'、
'マテリアル ワールド' => 'http://sc.jb51.net/'、
'Baidu' => 'http://www.baidu.com/'、
'ウェブサイト ナビゲーション' = > 'http://www.hao123.com'、
'傷つくわけにはいかない' => '=> ://www.hei123.net/',
);
$TPL->assign('links', $links);
3.テンプレートの静的ファイルの構造
4. テンプレート
コードをコピーします コードは次のとおりです:
;a href= "#">{$site_name}
// これらのテンプレート エンジンの基本的な機能は tmd_tpl でも同様です。
// ただし、ループと判定に関しては、tmd_tpl の観点からは PHP コードを直接使用します。これを行うためにテンプレート言語を作成する必要はありません。
foreach ($links as $name => $url) {
?>
}
?>
// 機能的には、現在の tmd_tpl の弱点です。
// {$blog.content|nl2br} 形式はまだサポートされていません。
{:nl2br( $blog['content'] )} // これが唯一の方法
=nl2br( $blog['content'] )?> または、この方法
//に変換されます
// 戻り値なしでいくつかの関数を呼び出す場合
{~print_r( $blog )}
tmd_tpl 本当のイノベーションは、パス変換です。
Dreamweaver に画像を直接挿入したり、CSS を導入したり、JS を呼び出したり、別のページを含めたりすることができます。
コードをコピーします
コードは次のとおりです:
//画像を挿入

・tmd_tplテンプレートエンジン使用後
http 経由でのアクセスの効果を確認する >ここをクリック
Dreamweaverの場合(フロントエンドスタッフはこうやってできる〜)
Chromeの場合(含まれているページのみ表示できません)
・tmd_tplを使用しない場合は、DiscuzとDedeCMSのテンプレートを見てみましょう。
ディスカッション!
デデCM
これで、いわゆる強力なテンプレート エンジンがいかにばかげているかがわかりましたね?
何を待っていますか?歴史を変える時が来ました。マウスを手に持ってクリックし、第 2 世代の PHP テンプレート エンジン tmd_tpl をダウンロードしてください。
。
thesecrettokeepingaphp-poweredwebsterunningsmootlyunderheavyloadinvolvesseveralkeystrategies:1)emform opcodecoduceSciptionexecutiontime、2)aatabasequerycachingwithiThing withiThistolessendavasoload、

コードをより明確かつ維持しやすくするため、依存関係が関心(DI)に注意する必要があります。 1)DIは、クラスを切り離すことにより、よりモジュール化されます。2)テストとコードの柔軟性の利便性を向上させ、3)DIコンテナを使用して複雑な依存関係を管理しますが、パフォーマンスの影響と円形の依存関係に注意してください。

はい、最適化されたAphPossibleandessention.1)CachingingusapCutoredatedAtabaseload.2)最適化、効率的なQueries、およびConnectionPooling.3)EnhcodeCodewithBultinctions、Avoididingglobalbariables、およびUsingopcodeching

keyStrategIestsoSificlyvoostphpappliceperformanceare:1)useopcodecachinglikeToreexecutiontime、2)最適化abaseの相互作用とプロペラインデックス、3)3)構成

aphpDependencyInjectionContaineriSATOULTAINATINAGECLASSDEPTINCIES、強化測定性、テスト可能性、および維持可能性。

SELECT DEPENTENCINGINOFCENT(DI)大規模なアプリケーションの場合、ServicElocatorは小さなプロジェクトまたはプロトタイプに適しています。 1)DIは、コンストラクターインジェクションを通じてコードのテスト可能性とモジュール性を改善します。 2)ServiceLocatorは、センター登録を通じてサービスを取得します。これは便利ですが、コードカップリングの増加につながる可能性があります。

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

Dreamweaver Mac版
ビジュアル Web 開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6
ビジュアル Web 開発ツール
