日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php smarty框架案例,PHP框架_Smarty

發布時間:2023/12/18 php 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php smarty框架案例,PHP框架_Smarty 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.環境搭建

文件夾目錄

|--libs ? ? ?Smarty核心文件

|--demo 開發目錄

|--cache  緩存目錄

|--template_c  模板編譯生成目錄

|--tpl  模板目錄

|--*.php  php文件

2.基本配置

test.php

//引入smarty類

require("../lib/Smarty.class.php");

//實例化對象

$smarty = new Smarty();

//配置Smarty

$smarty->left_delimiter = "{"; //左定界符

$smarty->right_delimiter = "}"; //右定界符

$smarty->template_dir = "tpl"; //模板目錄

$smarty->compile_dir = "template_c"; //模板編譯生成目錄

$smarty->cache_dir = "cache"; //緩存目錄

/*Smarty的緩存機制通常不開啟*/

//$smarty->caching = true; //開啟緩存

//$smarty->cache_lifetime = 120; //緩存時間

//smarty兩個基本方法

$smarty->assign('articleTitle',"fuck the sky"); //設置title變量,賦值

$smarty->display('test.html'); //在test.html模板中展示

3.Smarty變量調節器

{* 1.首字母大寫capitalize*}

{$articleTitle|capitalize}

{* 2.字符串連接 cat*}

{$articleTitle|cat:" yesterday."}

{* 3.日期格式化 date_format*}

{$yesterday|date_format}

{* %H:時 %M:分 %S:秒 %Y:年 %B:月 %e:日 %A:星期 *}

{$yesterday|date_format:"%A, %Y %B %e %H:%M:%S"}

{* 4.為未賦值或為空的變量指定默認值default*}

{$articleTitle|default:"no title"}

{* 5.轉碼 escape*}

{*用于html轉碼,url轉碼。默認是html轉碼*}

{* 6.小寫 lower 大寫 upper*}

{* 7.所有的換行符將被替換成
nl2b*}

{{$articleTitle|nl2br}}

4.Smarty條件判斷

{* eq(==) neq(!=)gt(>)lt(

{* 修飾詞時必須和變量或常量用空格格開*}

{if $name eq "Ryan"}

Hello Boy.

{elseif $name eq "YY"}

NO.

{else}

Who

{/if}

5.Smarty的循環

test.php中定義$articlelist數組

$articlelist = array(

array(

"title" => "第一篇文章標題",

"author" =>"第一作者",

"content" =>"第一內容"

),

array(

"title" => "第二篇文章標題",

"author" =>"第二作者",

"content" =>"第二內容"

)

);

test.html中

{* section循環 *}

{* 1.start 循環執行的初始位置。如果該值為負數,開始位置從數組的尾部算起*}

{* 2 step 該值決定循環的步長。*}

{* 3.設定循環最大執行次數。*}

{* 4.show 決定是否顯示該循環。*}

{section name=article loop=$articlelist}

{$articlelist[article].title}

{$articlelist[article].author}

{$articlelist[article].content}

{/section}

{* foreach循環 *}

{foreach $articlelist as $article}

{$article.title}

{$article.author}

{$article.content}

{foreachelse}

NULL

{/foreach}

6.Smarty模板的引用

{*include file="header.tpl" *}

7.Smarty類與對象的賦值與引用

test.php中定義myObject類

class myObject{

function meth1($params){

return $params[0]." ".$params[1];

}

}

$myObj = new myObject();

$smarty->assign("myObj",$myObj);

test.html

{$myObj->meth1(array("蘋果","炸了"))}

8.smarty函數插件

{* function 函數插件 *}

{*創建Smarty插件:*}

{* 在插件目錄里新建文件 類型.插件名.php文件*}

{* 插件方法名字書寫規范: smarty_類型_插件名([...]){}*}

{* 調用方法:函數名 參數1=數值1 參數2=數值2 *}

{test width=150 height =2}

//function.test.php

function smarty_function_test($params){

$width = $params["width"];

$height = $params["height"];

return $width*$height;

}

{* modifiers 修飾插件 *}

{* 調用方法:第一個參數|函數名 其他參數 *}

{$yesterday|test:"Y-m-d h:i:s"}

//modifier.test.php

function smarty_modifier_test($utime,$format){

return date($format,$utime);

}

{* block functions 區塊函數插件 *}

{test2 replace="true" maxnum=10}

{$str}

{/test2}

//block.test2.php

function smarty_block_test2($params,$content){

$replace = $params["replace"];

$maxnum = $params["maxnum"];

if($replace == "true"){

$content = str_replace(",",".",$content);

}

$content = substr($content,0,$maxnum);

return $content;

}

避免重復造輪子的UI自動化測試框架開發

一懶起來就好久沒更新文章了,其實懶也還是因為忙,今年上半年的加班趕上了去年一年的加班,加班不息啊,好了吐槽完就寫寫一直打算繼續的自動化開發 目前各種UI測試框架層出不窮,但是萬變不離其宗,驅動PC瀏覽 ...

ABP入門系列(1)——學習Abp框架之實操演練

作為.Net工地搬磚長工一名,一直致力于挖坑(Bug)填坑(Debug),但技術卻不見長進.也曾熱情于新技術的學習,憧憬過成為技術大拿.從前端到后端,從bootstrap到javascript,從py ...

旺財速啃H5框架之Bootstrap(五)

在上一篇<>做了基本的框架,<>篇里也大體認識了bootst ...

Angular企業級開發&lpar;5&rpar;-項目框架搭建

1.AngularJS Seed項目目錄結構 AngularJS官方網站提供了一個angular-phonecat項目,另外一個就是Angular-Seed項目.所以大多數團隊會基于Angular-S ...

Scrapy框架爬蟲初探——中關村在線手機參數數據爬取

關于Scrapy如何安裝部署的文章已經相當多了,但是網上實戰的例子還不是很多,近來正好在學習該爬蟲框架,就簡單寫了個Spider Demo來實踐.作為硬件數碼控,我選擇了經常光顧的中關村在線的手機頁面 ...

制作類似ThinkPHP框架中的PATHINFO模式功能

一.PATHINFO功能簡述 搞PHP的都知道ThinkPHP是一個免費開源的輕量級PHP框架,雖說輕量但它的功能卻很強大.這也是我接觸學習的第一個框架.TP框架中的URL默認模式即是PathInfo ...

旺財速啃H5框架之Bootstrap(四)

上一篇<>已經把導航做了,接下來搭建內容框架.... 對于不規整的網頁,要做成自適應就有點玩大了.... 例如下面這種版式的頁面. ...

一起學 Java(三) 集合框架、數據結構、泛型

一.Java 集合框架 集合框架是一個用來代表和操縱集合的統一架構.所有的集合框架都包含如下內容: 接口:是代表集合的抽象數據類型.接口允許集合獨立操縱其代表的細節.在面向對象的語言,接口通常形成一個 ...

Hibernatel框架關聯映射

Hibernatel框架關聯映射 Hibernate程序執行流程: 1.集合映射 需求:網絡購物時,用戶購買商品,填寫地址 每個用戶會有不確定的地址數目,或者只有一個或者有很多.這個時候不能把每條地址 ...

隨機推薦

Leetcode 102 Binary Tree Level Order Traversal 二叉樹&plus;BFS

二叉樹的層次遍歷 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...

js 獲取 input file 文件 附給 image src

var a=document.querySelector('input[type=file]'); a.onchange = function (e) { //var reader = new Fil ...

Python Django manage&period;py提供的命令及用法

λpython manage.pyType'manage.py help 'for help on a specific subcommand. Available ...

mysql的having語句

mysql> use qq; Database changed mysql> #查詢本店價比市場價省的錢,并且要求省錢200元以上的取出來 mysql> select goods_i ...

文件操作-php

PHP的優點

1.語法簡單 2.學習成本低 3.開發效率高 4.跨平臺 5.開發部署方便 6.開源框架非常豐富(如:ThinkPHP) 7.開源CMS系統非常豐富(如:Joomla,Wordpress) 8.開源網 ...

Python&lowbar;方法演示

class Root: __total=0 def __init__(self,v): #構造函數 self.__value=v Root.__total+=1 def show(self): #普通 ...

RHEL7 timedatectl命令

1.要顯示系統的當前時間和日期,使用timedatectl命令,如下: [root@rhel7 ~]# timedatectl Local time: Mon -- :: EDT Universal ...

java面試題------40個Java集合面試問題和答案

Java集合框架為Java編程語言的基礎,也是Java面試中非常重要的一個知識點. 這里,我列出了一些關于Java集合的重要問題和答案. 1.Java集合框架是什么?說出一些集合框架的長處? 每種編程 ...

JsonConvert&period;DeserializeAnonymousType

string JsApiTicketString = string.Empty; using (StreamReader reader = new StreamReader(response.GetR ...

總結

以上是生活随笔為你收集整理的php smarty框架案例,PHP框架_Smarty的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。