ホームページ >バックエンド開発 >PHPチュートリアル >Netteフレームワーク:第一印象
SitePointの2015 PHPフレームワーク調査では、驚くべき候補であるNetteが明らかになりました。 この記事はNetteを掘り下げ、その機能を調べ、Symfony2と比較します。
Netteは、MVCアーキテクチャを順守しながら、ユニークなアプローチを提示します。 「モデル」レイヤーは顕著ではなく、構成は
ファイルに大きく依存しています。 プロジェクト構造は、symfony2:とは大きく異なります
.neon
キーディレクトリには、
および静的資産)、www
(依存関係の場合)、およびindex.php
(vendor
、app
、config
、およびpresenters
)が含まれます。 。 構成はtemplates
およびrouter
を介して管理され、後者は前者のオーバーライド設定です。config.neon
config.local.neon
Nette Bundles Adminer、軽量のphpmyAdminの代替案。
便利ですが、管理者の限られた機能には、生産環境向けの専用のデータベース管理ツールが必要になる場合があります。 チュートリアルのディレクトリ内での管理者の配置は、展開の懸念を引き起こします(
www
ルーティング:.gitignore
Netteのルーティングシステムは、で定義されており、工場を使用してURISをコントローラー/アクションにマッピングします。 たとえば、
これにより、app/router/RouterFactory.php
アクションにきれいにリンクします。 Latteテンプレートのリンク生成は簡潔です:
<code class="language-php">$router[] = new Route('post/show/<postid>', 'Post:Show');</postid></code>
/post/show/4
ラテテンプレートエンジン:Post:Show
<code class="language-html"><a href="https://www.php.cn/link/bea99816975d4154590d05ce68da8b63">{$post->title}</a></code>を使用し、機能を強化するためにマクロをサポートします。 たとえば、
コントローラーとアクション(プレゼンター):
{}
Netteのプレゼンターはコントローラーとして機能します。
<code class="language-html"><ul n:if="$items"> {foreach $items as $item} <li id="item-{$iterator->counter}">{$item|capitalize}</li> {/foreach} </ul></code>
<code class="language-php">$router[] = new Route('post/show/<postid>', 'Post:Show');</postid></code>Netteは、アクションの名前に基づいて暗黙的にレンダリングするテンプレートを処理します(例:
を使用renderShow
)。依存関係インジェクションは、データベースアクセスを管理します
Post/Show.latte
Netteは、メモリやデータベースベースのアプローチを含むさまざまな認証方法をサポートしています。 Access ControlはロールとACLシステムを利用しますが、実装はSymfony2の
よりも直感的ではないと感じる場合があります。フォーム作成は簡単で、提出物を処理するためのコールバックハンドラーを活用しています。security.yml
デバッグとテスト:
Netteには、強力なデバッグツールであるTracyとテストフレームワークであるテスターが含まれています。 Tracyは、開発のための便利なツールバー(以下を参照)を提供します。
結論:
Netteは、比較的若いですが、確立されたフレームワークに魅力的な代替品を提示します。その強みは、セキュリティ機能(LatteのXSS保護)、パフォーマンス、および使いやすさにあります。 ただし、このドキュメントは、明確さと完全性のための改善の恩恵を受ける可能性があります。 よくある質問(FAQ):
提供されたFAQは、Netteの主要な側面の包括的な概要を提供します。 これらのFAQは、主要な記事の技術的詳細を効果的に補完します
以上がNetteフレームワーク:第一印象の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。