專案中常用到smarty,但是一直用的就是簡單的 assgin display foreach if else 等幾個方法。 閒下來又看了一遍smarty。簡單的記錄下有用的東西。
<br> <span>smarty 系统保留变量 </span><span>$smarty</span>.<span>get #使用方法 $smarty.get.id 下面的一次类推 </span><span>$smarty</span>.<span>post </span><span>$smarty</span>.<span>session </span><span>$smarty</span>.<span>cookie </span><span>$smarty</span>.server<br> smarty模板中使用PHP中定义的常量<br> php 文件中定义 define('HIEGHT', 8846);<br> 模板文件中使用 $smarty.const.HIEGHT<br> smarty读取配置文件中的变量<br> 1 $smarty->config_dir = "./conf"; #设置配置文件的路径<br> 2 配置文件的书写规则 1)配置文件以.conf 结尾 2)配置文件内的书写规则 key1=val1 key1=val1 <br> 3 使用:在模板文件的头部 {config_load file='site.conf'} <br> 4 {$smarty.config.site} 即可获取 // {#site#}也可以读取<br> smarty缓存设置<br> $smarty->caching = true; #开启缓存 缓存页面<br> $smarty->cache_lifetime = 3600; #缓存的时间<br> $smarty->cache_dir = './cache'; #存放换文件的目录 <br> $smarty->isCached('news.html') 可以判断是否生成了缓存文件 #smarty3里面这么判断<br> <br> #一个页面生成多个缓存文件 例子:一个商品详情的页面 根据商品的ID 展现不同的内容 <br> $id = empty($_GET['id]) ? 1 : $_GET['id'];<br> $good_name = 'good_name_' . $id;<br> $smarty->assign('good_name',$good_name);<br> $smarty->display('tpm.html',$id); # 这样就会根据id生成不同的页面 。 <br> 注意: 实际的项目中 这个ID 应该是根据参数算出来的。例如根据page,category等参数计算出来。之前公司的一个项目用到了smarty的缓存,这个id的值就是根据page category md5以后得到的。 ecshop中也是这么做的 不过不是MD5。<br> #清除缓存<br> $smarty->clearCache('tmp_name')<br> $smarty->clearAllCache() <br> <br> #设置局部不缓存的方法<br> 1 在标签中 {$time|date_format:"%Y-%M-%D %H:%M:%S" nocache}<br> 2 {nocache}{/nocache} 控制局部不缓存<br> 3 php赋值的时候控制不缓存 assign 的第三个参数 设置为true <br> 4 smarty中的一个insert方法 不细说 感觉没啥用 (囧)
######个人感觉smarty的缓存意义不太大。因为完全可以用redis MEMCHACHE 代替。当然存在即合理 哈哈 <br> <br> #变量调节器 :简单说 修改变量的展示形式的功能 例如:
{$time|date_format:"%Y-%M-%D %H:%M:%S" nocache}<br> #自己也可以写变量调节器 参照plugin里面的文件写就可以了 ###感觉有用。我们的项目中用到了。具体的使用,回头补上。<br>
smarty取得:
1 download: http://www.smarty.net/download
2 透過composer取得 : composer是個很棒的東西。
<br> <br>
以上就介紹了smarty小記,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器