Nette Application
Nette Application は Nette フレームワークの中核で、現代的なウェブアプリケーションを作るための強力な道具を提供します。開発を大きく楽にし、コードの安全性と保守性を高める、他にはない機能が数多く揃っています。
インストール
ライブラリは Composerでダウンロードしてインストールします。
composer require nette/application
なぜ Nette Application を選ぶのか
Nette は常にウェブ技術の先駆けであり続けてきました。
双方向のルーター: Nette には双方向性という点で他にない高度なルーティングのしくみがあります。URL をアプリケーションのアクションに変換するだけでなく、逆に URL を生成することもできます。つまり、
- アプリケーション全体の URL の構造を、テンプレートを直さずにいつでも変えられます
- URL が自動的に正規化され、SEO が良くなります
- ルーティングが 1 か所で定義され、アノテーションに散らばりません
コンポーネントとシグナル: Delphi と React.js に着想を得た組み込みのコンポーネントのしくみは、PHP のフレームワークの中でも他に例がありません。
- 再利用できる UI 要素を作れます
- 階層的なコンポーネントの組み立てに対応しています
- シグナルを使った優雅な AJAX リクエストの処理を提供します
- Componetteに既製のコンポーネントの豊富なライブラリがあります
AJAX とスニペット: Nette は 2009 年に、AJAX を扱う画期的な方法を導入しました。Ruby on Rails の Hotwire や Symfony UX Turbo のような似た解よりずっと前のことです。
- スニペットを使うと、JavaScript を書かずにページの一部だけを更新できます
- コンポーネントのしくみと自動的に統合されます
- ページの部分を賢く無効化します
- データの転送は最小限です
直感的な Latteテンプレート: 高度な機能を備えた、PHP で最も安全なテンプレートシステムです。
- コンテキストに応じたエスケープによる自動的な XSS 対策
- 独自のフィルタ、関数、タグで拡張できます
- テンプレートの継承と AJAX 用のスニペット
- 型システムを備えた優れた PHP 8.x サポート
Dependency Injection: Nette は依存性注入を全面的に活用します。
- 依存関係の自動的な受け渡し(オートワイヤリング)
- 分かりやすい NEON 形式による設定
- コンポーネントのファクトリのサポート
主な利点
- 安全性: XSS、CSRF などの脆弱性に対する自動的な保護
- 生産性: 賢い設計のおかげで、書く量は少なく機能は多く
- デバッグ: ルーティングのパネルを備えた Tracy デバッガ
- 性能: 賢いキャッシュ、コンポーネントの遅延読み込み
- 柔軟さ: アプリケーションが完成したあとでも URL を簡単に変えられます
- コンポーネント: 再利用できる UI 要素の他にないしくみ
- 現代的: PHP 8.3+ と型システムの完全なサポート
はじめに
- アプリケーションはどう動くのか – 基本のアーキテクチャの理解
- プレゼンター – プレゼンターとアクションの扱い
- テンプレート – Latte でのテンプレートの作成
- ルーティング – URL アドレスの設定
- インタラクティブなコンポーネント – コンポーネントのしくみの利用
PHP の互換性
| バージョン | 対応する PHP |
|---|---|
| Nette Application 3.3 | PHP 8.3 – 8.5 |
| Nette Application 3.2 | PHP 8.1 – 8.5 |
| Nette Application 3.1 | PHP 7.2 – 8.3 |
| Nette Application 3.0 | PHP 7.1 – 8.0 |
| Nette Application 2.4 | PHP 5.6 – 8.0 |
最新のパッチバージョンに適用されます。