PHP常规模板引擎中与CSS/JSON冲突的解决,cssjson
PHP常规模板引擎中与CSS/JSON冲突的解决,cssjson
主要针对对象:Smarty/Dwoo
参考:http://developer.51cto.com/art/201009/224929.htm
其实以前都不怎么关注模板引擎,觉得没必要使用。但随着年龄的增加,代码洁癖越来越严重,才开始碰到这个问题。
Smarty和CSS/JS的语法存在冲突,因为二者都需要使用大括号{}。虽然可以改Smarty的界定符,但你在一个现存系统中,去修改所有相关代码,是不划算的。
1. 避免同时出现
通过外部引用的方式避免。问题是避无所避。所以这种情况只适合少量简单的情况。
2. 修改Smarty界定符
2. 使用Smarty的literal标记将样式表信息包围起来
<span><</span><span>html</span><span>></span> <span><</span><span>head</span><span>></span> <span><</span><span>title</span><span>></span>{$title}<span></</span><span>title</span><span>></span><span> {literal} </span><span><</span><span>styletypestyletype</span><span>="text/css"</span><span>></span><span> p</span><span>{</span><span> margin</span><span>:</span><span>:2px </span><span>}</span> <span></</span><span>style</span><span>></span><span> {/literal} </span><span></</span><span>head</span><span>></span>
<span><</span><span>script </span><span>type</span><span>="text/javascript"</span><span>></span> <span>function</span><span> goods_show(id){<br /><br /></span><span><!--</span><span>{literal}</span><span>--><br /><br /></span><span>art.dialog.open(url,{id:</span><span>'</span><span>select</span><span>'</span><span>,title:</span><span>'</span><span>的:</span><span>'</span><span>,width:</span><span>760</span><span>,height:</span><span>380</span><span>,padding: </span><span>'</span><span>10px</span><span>'</span><span>});<br /><br /></span><span><!--</span><span>{</span><span>/</span><span>literal}--></span> <span> } </span><span></</span><span>script</span><span>></span>
第三种无疑是绿色环保的,在遇到冲突的地方,加上literal标记包裹。
该方案对Dwoo引擎同样有效。
关于框架你可以这么理解, 就像一个大楼的地基, 无论大楼怎么盖, 打造地基的方法永远都是类似的.
在我们进行程序开发的过程中, 你会发现每个程序之间都要有很多类似的东西和可以重用的东西, 如果你每个项目过后都把这些类似的东西积累起来, 那么这些代码可以称为库, 当库越来越强大, 甚至连程序结构都可以重用的时候, 你就可以叫他框架了.
国内比较好的框架有thinkPHP, fleaPHP, 国外zendFramework和symfony. 如果楼主想靠php找工作建议学zendFramework, 如果个人开发建议使用symfony.
关于模板引擎, 你可以理解成施工队里刷油漆的, 他们是专业刷油漆的, 盖楼的不用管油漆怎么刷, 刷油漆的也不关注楼是怎么盖的.
其实模板引擎的主要作用还是将逻辑和显示进行分离, 最初可能是为了让程序员和美工更好的进行配合, 既然初学者, 我想你经常会把php代码和html写到一起, 你自己是可以看懂的, 但是美工不一定看得懂, 他们可能只能看懂html和css, 再者说如果美工在混合代码里加了复杂的css或者js你也一样会看不懂, 这样就给程序开发带来了很大的困难. 所以才有了模板引擎, 它将逻辑和显示完全分离, 程序员只需要关注逻辑, 在程序的最后将数据准备好然后传递给模板, 而美工只要修改模板而不需要考虑程序逻辑, 模板技术在团队开发中是经常使用的, 这里推荐你学习smarty.
不知道有没有讲透, 有不懂可以补充.
echo '
im create by php '
?>
编译后,HTML结构是什么?CSS是在客户端运行,所以当你发现样式不对的时候,你查看源文件,保存为HTML去检查,看有什么不同,如果你是AJAX做的,源文件没有对应的结构,那就就打开FireBug 复制代码生成HTML 再去检查!
总之,要检查CSS,请不要盯着程序看,放到客户端HTML的环境下去测试吧!

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











近年、PHP プログラミングのテンプレート エンジンは PHP 開発の重要な部分となっており、プログラマーによるページの開発と管理が容易になりました。この記事では、PHP プログラミングにおける一般的なテンプレート エンジンを紹介します。 SmartySmarty は一般的に使用される PHP テンプレート エンジンで、キャッシュされたテンプレート、プラグイン モジュール、カスタム関数などの一連の機能をサポートしています。 Smarty の構文は非常に柔軟で、PHP 変数と HTML タグを組み合わせる問題を解決できるため、PHP 言語はテンプレート化されたデザインにより適しています。しかも、Sさん

Fat-Free Framework は、Web アプリケーションを構築するためのシンプルで柔軟なツールを提供するように設計された軽量の PHP フレームワークです。ルーティング、データベース アクセス、キャッシュなど、多くの便利な機能が含まれています。 Fat-Free フレームワークでは、Blade テンプレート エンジンを使用すると、テンプレートの管理とレンダリングがより便利になります。 Blade は Laravel フレームワークのテンプレート エンジンであり、強力な構文とテンプレート継承機能を提供します。この記事では、Fat-Free フレームワークで Bl を使用する方法を説明します。

ThinkPHP6 テンプレート エンジン使用ガイド: 絶妙なフロントエンド インターフェイスの作成 はじめに: Web アプリケーションの開発に伴い、フロントエンド インターフェイスの設計と開発がますます重要になってきています。開発者として、フロントエンド インターフェイスの作成と管理に役立つ強力なテンプレート エンジンを使用する必要があります。 ThinkPHP6 のテンプレート エンジンは、このニーズを満たす強力なツールです。この記事では、ThinkPHP6 テンプレート エンジンを使用して美しいフロントエンド インターフェイスを作成する方法を紹介します。パート 1: ThinkPHP6 テンプレート エンジンをインストールする

Golang テンプレート エンジン スタート ガイド: Golang でテンプレートを使用する方法、特定のコード サンプルが必要です はじめに: テンプレート エンジンは、データとテンプレートを結合し、HTML、テキスト、またはその他の形式でドキュメントを生成できるツールです。 Golang では、組み込みのテンプレート パッケージ (html/template) を使用して、テンプレート エンジンの機能を実装できます。この記事では、Golang のテンプレート エンジンの使用方法と具体的なコード例を詳しく紹介します。 1. テンプレート エンジンの基本概念は、その使用方法を理解することです。

インターネット技術の発展に伴い、Web アプリケーションの需要も増加しています。 Web 開発者は、多くの場合、テンプレート エンジンを使用して動的な Web ページを生成します。この記事では、新しいテンプレート エンジンである Go 言語テンプレート エンジンについて説明します。 Go 言語テンプレート エンジンとは何ですか? Go 言語は、Google によって開発された高度なプログラミング言語です。その構文は簡潔かつ明確なので、学習と使用が簡単です。 Go 言語テンプレート エンジンは、Go 言語で HTML テンプレートを生成するために使用されるテンプレート システムです。 Go言語のテンプレートエンジンは「標準ライブラリ」と呼ばれます。

JavaScript 開発におけるテンプレート エンジンの選択と使用に関する経験の共有 はじめに: 最新のフロントエンド開発では、テンプレート エンジン (TemplateEngine) が重要な役割を果たします。これらにより、開発者は大量の動的データをより効率的に整理および管理し、データをインターフェイスのプレゼンテーションから効果的に分離できるようになります。同時に、適切なテンプレート エンジンを選択すると、開発者により良い開発エクスペリエンスとパフォーマンスの最適化がもたらされます。しかし、数多くの JavaScript テンプレート エンジンの中で、どれを選択すればよいでしょうか?キャッチ

PHP および CGI テンプレート エンジン: Web サイトの再利用性を実現する方法 はじめに: Web サイトを開発するとき、動的コンテンツの表示に対処する必要があることがよくあります。コードの保守性と再利用性を実現するには、テンプレート エンジンを使用することが賢明な選択です。この記事では、一般的に使用される 2 つのテンプレート エンジンである PHP と CGI を紹介し、コード例を通じてそれらを使用して Web サイトの再利用性を実現する方法を示します。 1. PHP テンプレート エンジン PHP は、柔軟性と強力な機能を備え、広く使用されているサーバー スクリプト言語です。 PHPテンプレートエンジンは、

PHP は Web 開発で広く使用されている言語で、小規模な Web サイトを開発する場合でも、大規模なシステムを開発する場合でも、PHP は非常に人気があり便利です。 PHP 開発プロセスでは、ロジック層とデータ層を分離する必要があり、これにはテンプレート エンジンを使用する必要があります。テンプレート エンジンは、データとテンプレート ファイルを結合して最終的な HTML ファイルを生成するものとして単純に理解できます。この記事では、PHP で利用できる最高のテンプレート エンジンをいくつか紹介します。 SmartySmarty は、PHP で最も人気のあるテンプレート エンジンの 1 つです。
