5

私はこれについて複雑なことを聞​​いたことがあります。テンプレートでPHPを有効にして、問題を回避するのは簡単です。ただし、ほとんどの場合、潜在的なセキュリティの問題が発生し、起動するテンプレートが混乱します。

PHPが使用されるほとんどの場合、必要なものを実現するためにPHPで単純なプラグインを作成する方がクリーンです。

私の質問はこれです:ExpressionEngineテンプレート内でPHPを使用することはこれまでに受け入れられますか?それとも、これは悪い習慣と見なされますか?私がコーディングしたサイトを継承した開発者の場合、テンプレート内にPHPが含まれているのを見たら、うんざりしませんか?

4

3 に答える 3

6

eval()これは、それを使用するメリットと使用すべきかどうかについての質問と同じくらい簡単です。これらの線に沿った質問への回答のほとんどは、ここでも同様に当てはまります。

私の見解では、テンプレートでPHPを有効にすることは、常に悪い考えです。せいぜい、それはひどい考えではありませんが、常により良い選択肢があります。一見無害なコードスニペットを使用している場合でも、カスタムアドオンの方が常に優れたアプローチになります。また、使用資格の低い人にも使用される可能性が高いと思います。個人的には、EEを使用してサイトを構築し始めたとき、私のPHPスキルは「完全に無能」から「危険を十分に知っている」までの範囲でした。当時、EEのコードに制限がある場合は、インラインPHPを介してソリューションを実装することがよくありました。これは、カスタムアドオンを開発するというアイデアが難しすぎるように思われたことと、[PHPを有効にする]ラジオボタンをクリックしたことが原因でした。とても簡単。数年後、これらのサイトの1つを更新する必要があるときはいつでも、私は間違いなくうんざりします。

  • 深刻なセキュリティの脆弱性をもたらす可能性があります。
  • 読み込み時間が長くなる可能性があります
  • コードのデバッグは難しくなります(どのファイル/行番号にそのエラーがあるかを見つけてください)。

Pkg.ioのようなツールを使用すると、アドオンの基礎を30秒で配置できます。少しの追加の努力が必要ですが、利益はそれだけの価値があります。

于 2012-10-27T11:54:16.883 に答える
4

私がExpressionEngineを使用してWebサイトを構築している80%の人々の一部としてこの質問に答えていると想像してみてください。彼らは、自分自身をデザイナーと見なしたり、PHPの経験がほとんどまたはまったくない人々と見なしたりします。

ExpressionEngineテンプレート内でPHPを使用することは許容されますか?

いいえ、それは受け入れられません、それをしないでください!

それとも、これは悪い習慣と見なされますか?

うん、かなり。

私がコーディングしたサイトを継承した開発者の場合、テンプレート内にPHPが含まれているのを見たら、うんざりしませんか?

間違いなくしわがれ、多分少し呪うでしょう。


さて、今、私が20%の一部として答えていると想像してみてください。彼らは、自分自身をEE開発者と見なすか、または1日中言うデザイナーよりもプログラミングの経験が豊富です。

ExpressionEngineテンプレート内でPHPを使用することは許容されますか?

たまにはそれは許容できます。たとえば、このStashセットアップでPHPをオンにする必要がある場合があります。それは本当にあなたが達成しようとしていることの複雑さに依存します。ほとんどのものは可能な限りアドオンに入れる必要があり、「怠惰」であることは、PHPがテンプレートで受け入れられる時間とは見なされません。

それとも、これは悪い習慣と見なされますか?

その点については、ExpressionEngineとCodeigniterはアドオンを構築するための優れた基盤を提供し、ベストプラクティスには可能な限り適切な分離が含まれます。これには、PHPおよびテンプレートからの分離が含まれます。多くの場合。

アドオンに入れることができる場合は、前述のとおりにする必要があります。そうは言っても、これがセキュリティに影響を及ぼし、クライアントや他の開発者/設計者などに将来の頭痛の種を引き起こす可能性があることを知っていることを除いて、テンプレートでPHPを使用することを制限するものは実際にはありません。

私がコーディングしたサイトを継承した開発者の場合、テンプレート内にPHPが含まれているのを見たら、うんざりしませんか?

確かに(PHPが最初から災害であった場合を除いて)しがみつくことはありませんが、なぜそのような単純で複雑なコードがそれが属していなかったのか疑問に思うでしょう。アドオンで。

注:私はパーセントを薄い空気から引き出しましたが、それらはおそらく現実に近い可能性があります。

また、注意:私の答えでのデザイナー/開発者の使用はステレオタイプと見なされる可能性があることを認識していますが、それを回避する方法はよくわかりませんでした。誰も怒らないことを願っています。

于 2012-10-27T02:17:45.647 に答える
3

phpstringfunアドオンのようなものを使用することを検討します。これは異なるものを分割しますが、あなたはまだEEタグで作業しています。

テンプレートで十分に文書化された少量のPHPを使用するのは面倒ではありませんが、できるだけシンプルで抽象化してください。

于 2012-11-03T04:05:09.450 に答える