CakePHP 2.3でSmartyまたはBlade(Laravel)テンプレートエンジンを使用したい。それが可能だ?
はいの場合、どのように?
CakePHPの他のテンプレートエンジンを知っているなら、教えてください。
はい、可能です。CakePHPのベースビュークラスを拡張するビュークラスでベンダーライブラリをラップする必要があります。
しかし、テンプレートエンジンは役に立たないオーバーヘッドであり、設計者が{Foo.field}とecho $foo['field'];のようなことを学ばなければならないかどうかはそれほど重要ではありません。
「cakephpsmarty」と「cakephptwigview」をグーグルで検索すると、何かが見つかります。そして、本当にそのオーバーヘッドが必要な場合は、キャッシュされている場合でも、Smartyを小枝でつなぐことにします。
CakePHP用の最新のOOPベースのビューソリューションはhttps://github.com/jameswatts/cake-toolkitで、カスタムオブジェクトを作成し、必要に応じて継承し、上書きすることができます...通常のOOPのもの。また、テンプレートエンジンと組み合わせることもできます。
これはあなたを助けるかもしれませんhttp://bakery.cakephp.org/articles/tclineks/2006/10/27/how-to-use-smarty-with-cake-smartyview
ただし、従来のネイティブPHPテンプレートよりもSmartyを使用するという決定は、軽視すべきではありません。Smartyは明らかに単純なテンプレート作成のための優れたツールですが、その機能は依然として大規模プロジェクトで必要となる可能性のあるもののサブセットにすぎません。{php}タグと{/php}タグを使用することで、ネイティブPHPで拡張できますが、そうすると、そもそも安全なテンプレートを使用するという目的が損なわれます。実際、Smarty自身のWebサイトには、「PHPコードをテンプレートに埋め込むことは非常に推奨されていません。プロジェクトであなたと一緒に働いている他の開発者のスキルと経験が決定的な要因になる可能性があります。プロジェクトに取り組んでいる唯一のエンジニアである場合は、ネイティブテンプレートを使用する方がほぼ確実に優れています。逆に、