PHP详细彻底学习Smarty

更新时间:2008年03月27日 22:56:17   作者:

Smarty是一个php模板引擎,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.

Smarty要求web服务器运行php4.0.6和以上版本.

smarty安装需要smarty库文件。可以去官方网站http://smarty.php.net下载。

网上讲了很多安装的教程,但是我都没有成功,所以直接把整个目录名改为smarty直接复制到了网站所在的目录下,然后打开http://网站路径/smarty/demo/index.php,显示正常,应该算是安装成功了。

基本语法

所有的smarty标签都被加上了定界符.在smarty里,所有定界符以外的内容都是静态的,当smarty遇到了模板标签,将尝试解释他们,然后再以恰当的方式输出.

默认情况下是 {和},但它们是可定制的.定制方法是:

$smarty->left_delimiter = '';

1.注释

模板注释被*号包围,例如 {* this is a comment *}

smarty注释将不被输出.它是模板内在的注释.

2.变量

模板变量以$开头,可以包含数字,字母和下划线。

config_file变量是例外要用#变量名#的方法引用

3.函数

smarty标签输出一个变量或者调用某种函数.

在定界符内函数和其属性将被处理和输出.例如:

{funcname attr1="val" attr2="val"}.

funcname为函数的名称比如:include等,attr1,attr2为属性名,val为属性相应的值。

在模板里无论是内建函数还是自定义函数都有相同的语法.

内建函数将在smarty内部工作,例如 {if}, {section} 和{strip}.他们不能被修改.

自定义函数通过插件机制起作用,它们是附加函数,可以随意修改,自行添加.

例如 {html_options} and {html_select_date}

4.属性

静态数值不需要加引号,布尔值(真或假)也不需要引号,可以是true,on,yes或者false,off,no. 但是字符串例外.变量同样被用到了,它们也不能加引号.

5.在字符串中插入变量

只能识别数字,字母,下划线和[]的组合,如果为复杂的形式需要用``将变量隔起来。比如{func var="test $foo.bar test"} 中只能识别变量$foo,要识别$foo.bar,需要写成{func var="test `$foo.bar` test"}的格式。

6.一些保留字的显示方法

在模板中如果要将smarty的一些保留字作为语言的内容显示出来,比如显示分隔符,默认为{}的方法是: {ldelim},{rdelim} 或者{$smarty.ldelim},{$smarty.rdelim} 或者可以把{}放在{literal} .. {/literal} 中间输出。

smarty的保留变量

{$smarty}保留变量可以被用于访问一些特殊的模板变量.

以下是全部.

页面请求变量

以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path, {$smarty.request.username}取得get/post/cookies/server/env的复合变量。

{$smarty.now}变量用于访问当前时间戳.

可以用 date_format调节器格式化输出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

{$smarty.const}

你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}

{$smarty.capture}

可以通过 {capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.

{$smarty.config}

{$smarty}变量 可以访问已经加载的config变量.

例如 {$smarty.config.foo}就可以表示 {#foo#}.

{$smarty.section}, {$smarty.foreach}

{$smarty} 变量可以访问'section'和'foreach'循环的属性.

{$smarty.template}

显示当前被处理的模板的名字.

{$smarty.version}

显示smarty模板的版本

{$smarty.ldelim}

显示左分隔符

{$smarty.rdelim}

显示右分隔符

变量调节器

变量调节器用于变量,自定义函数和字符串.

可以使用'|'符号和调节器名称应用调节器.

变量调节器由赋予的参数值决定其行为.

参数由':'符号分开.

如果你用变量调节器调节数组变量,结果是数组的每个值都被调节.如果你想要调节器调节整个数组,你必须在调节器名字前加上@符号.

例如: {$articleTitle|@count}(这将会在输出 $articleTitle 数组里的数目)

capitalize

将变量里的所有单词首字大写. 参数值boolean型决定带数字的词是否首字大写。默认不大写

count_characters

计算变量值里的字符数.参数值boolean型决定是否计算空格数。默认不计算空格

cat

将cat里的参数值连接到给定的变量后面.默认为空。

count_paragraphs

计算变量里的段落数量

count_sentences

计算变量里句子的数量

count_words

计算变量里的词数

date_format

日期格式

第一个参数控制日期格式.

如果传给date_format的数据是空的,将使用第二个参数作为默认时间

%a - 星期几的简写

%A - 星期几的全写

%b - 月份的简写

%B - 月份的全写

%c - 日期时间06/12/05 11:15:10

%C - 世纪时间

%d - 一个月的第几号(从 01 到 31)

%D - 同 %m/%d/%y

%e - 一个月的第几号,号为单数则前面加一空格 (从 1 到 31)

%g - 世纪

%G - 世纪 [0000,9999]

%h - 同%b

%H - 24小时形式的小时(从00到23)

%I - 12小时形式的小时(从01到 12)

%j - 一年中的第几天(从 001 到 366)

%k - 24小时形式的小时,单数字前面加空格. (从 0 到 23)

%l - 12小时形式的小时,单数字前面加空格.(range 1 to 12)

%m - 月份 (range 01 to 12)

%M - 分

%n - 换行符

%p - 显示早上还是下午`am' 或 `pm'

%r - a.m. 或 p.m.形式的时间

%R - 24小时形式的时间

%S - 秒

%t - tab符号

%T - 同%H:%M:%S

%u - 用 [1,7],表示星期几

%U - 计算是该年的第几个星期,从该年的第一个星期天开始计算

%V - 计算是该年的第几个星期, 从 01 到 53, 第一个星期必须至少有4天在这一年, 星期天作为这个星期的第一天

%w - 用数字的形式表示是星期的第几天, 星期天 为 0

%W - 用数字的形式是该年的第几个星期,从该年的第一个星期一开始计算

%x - 显示日期:月/日/年

%X - 显示时间:小时:分钟:秒

%y - 不包括世纪的年份

%Y - 包括世纪的年份

%Z - 时区

%% - 输出%

其中有些有时不能正常输出。

default

默认

为空变量设置一个默认值.

当变量为空或者未分配的时候,将由给定的默认值替代输出.

escape

转码

参数值为html,htmlall,url,quotes,hex,hexentity,javascrīpt。默认是html转码

indent

缩进

在每行缩进字符串,第一个参数指定缩进多少个字符,默认是4个字符.第二个参数,指定缩进用什么字符代替。

lower

小写

This is used to lowercase a variable.

将变量字符串小写

nl2br

换行符替换成

regex_replace

正则替换

寻找和替换正则表达式.必须有两个参数,参数1是替换正则表达式. 参数2使用什么文本字串来替换

replace

替换

简单的搜索和替换字符串必须有两个参数,参数1是将被替换的字符串. 参数2是用来替换的文本

spacify

spacify是在字符串的每个字符之间插入空格或者其他的字符串. 参数表示将在两个字符之间插入的字符串,默认为一个空格。

string_format 字符串格式化

是一种格式化浮点数的方法.例如十进制数.使用sprintf语法格式化。参数是必须的,规定使用的格式化方式。%d表示显示整数,%.2f表示截取两个浮点数。

strip 去除(多余空格)

替换所有重复的空格,换行和tab为单个或者指定的字符串. 如果有参数则是指定的字符串。

strip_tags 去除所有html标签

truncate 截取

参数1,规定截取的字符数.默认是80个.

第二个参数指定在截取的那段字符串后加上什么字符.默认为...

第三个参数决定是否精确截取,默认情况下为false,则smarty不会分割单词。

upper 将变量改为大写

wordwrap 行宽约束

第一个参数指定段落的宽度(也就是多少个字符一行,超过这个字符数换行).默认80.

第二个参数指定在约束点使用什么字符(默认是换行符\n).

第三个参数决定是否精确截取字符,默认情况下是不精确截取,就是截取时不能分开单词。

内建函数

内建函数不能擅自修改。

capture

capture函数的作用是收集模板输出的数据到一个变量里,而不是把它们输出到页面.例如任何在 {capture name="foo"}和{/capture}之间的数据都被收到了由函数的名称属性指定的变量{$foo}里,或者{$smarty.capture.foo}里。如果函数没有名字属性,将使用"default".每个{capture}都必须对应{/capture},也不能嵌套使用capture函数。

config_load

引用配置文件

file是必须的,说明要包含进来的配置文件名称,section说明要加载的部分的名称,scope被处理的变量的作用域.必须是local,parent或者global.

local的意思是变量将在本模板里被加载.

parent 的意思是变量将在本模板和上级模板被加载.

global的意思是变量将应用到所有的模板.默认为local。变量是否在上级模板可视,默认为no。如果scope属性已经有了,这个值将被忽略.

foreach,foreachelse

foreach循环是选择性的section循环.用于遍历关联数组.foreach的语法比section简单的多,但是作为一个折中它只能用于简单数组.

foreach必须的参数是from和item. from变量表示需要循环的数组的名称,item表示当前元素的变量名,key表示当前关键字的变量名,name表示访问foreach属性的foreach循环名。循环可以互相嵌套,被嵌套的循环之间的名字必须是独立的.foreachelse 在from变量没有值的时候被执行

include

用来引用其他的模板。

file属性是必须的用来表示所引用模板的名字,assign表示include文件将要分配的输出的变量。你可以自行用属性名="属性值"的方式定义任意个局部变量。

include_php

用来在模板中引入php脚本。file是必须的用来表示php脚本的路径,once确定如果在模板中引用了php脚本多次,是否只装载一次。默认为true。

insert

用来包含php脚本中的函数,name是必须的,表示所插入的脚本的名称,注意如果名称是name,则包含的函数则是insert_name(),所以所有要插入的函数要有前缀insert_ 。如果用了assign属性,则insert的输出将会分配给模板变量而不会显示。 scrīpt表示要引用的脚本路径。这个程序产生的内容将不会被缓存,在每次调用该页时重新执行,适用于广告,投票,查询结果等互动的地方。

if,elseif,else

if语句和和条件同php差不多,但每个词之间必须用空格分割开。也有一些新的条件语句,列举如下:eq相等,ne、neq不相等,gt大于,lt小于,gte、ge大于等于,lte、le 小于等于,not非,mod求模。is [not] div by是否能被某数整除,is [not] even是否为偶数,$a is [not] even by $b即($a / $b) % 2 == 0,is [not] odd是否为奇,$a is not odd by $b即($a / $b) % 2 != 0

php

php标记可以让模板中能直接使用php语言。

section,sectionelse

section用来循环显示数组的数据,name和loop是必须的参数。name表示嵌套名. section 可以嵌套使用,但是名字必须各不相同。loop表示循环的次数. sectionelse在loop参数为空的输出。start用来规定循环开始的指针,如果值为负则从数组尾部计算开始的指针,默认为0.step表示循环的步数,为负则反向循环,默认为1.max设定循环的最大步数.show决定是否显示section.

section也有自己的变量处理section属性,用{$smarty.section.sectionname.varname} 来显示.

index

index用来显示当前循环的指针,从0开始.

index_prev

用来显示前一次循环的指针,从-1开始

index_next

用来显示后一次循环的指针.

iteration

显示当前循环的次数,从1开始.

first

如果当前循环为第一个循环,则值为true.

last

如果当前循环为最后一个循环,则值为true.

rownum

同iteration.

loop

显示最后一次循环的指针,可以用在section中间的任何地方,也可以用在section之后.

show

show 决定是否显示section.

total

显示总共循环的次数,可以用在section中间的任何地方,也可以用在section之后.

strip

去掉多余的空格

常规函数

assign

assign用来在执行模板时分配变量值.var,value是必须的参数.var为要分配值的变量名,value为分配的值.

counter

counter用来输出一个计数. 可以用多个计数,但是名字必须各不相同.name表示计数器名,默认为default.start表示计数的初始值,默认为1.skip计数的间隔,默认为1.direction表示计数方向,up或down,默认为up.print表示是否打印该值,默认为true.assign定义模板变量,计数器的输出将被分配到assign定义的变量中.

cycle

Cycle用来循环显示一组数值.name表示cycle名,values("值1","值2",...)表示循环显示的一组数值.print表示是否显示.advance决定是否显示下一个数值. delimiter决定value的分隔符,默认为逗号. assign定义模板变量,cycle的输出将被分配到assign定义的变量中.

debug

debug可以显示所有分配了值的变量,但是不显示模板内容,output属性决定显示的格式html或javascrīpt,默认是html.

eval

eval用来在变量里插入变量。var是插入的变量名,assign把输出分配给一个变量。

fetch

用来取得文件内容,并输出文件内容,可以取得本地文件,http文件和ftp文件,file是取得文件的路径, assign把输出分配给一个变量。

html_checkboxes

html_checkbox用来用给定的数据创建checkbox。name表示checkbox的名称,values表示checkbox的值,output表示checkbox的显示,selected表示被选选项的值,options表示一组checkbox的值和显示,separator表示分割每个checkbox的符号,labels表示给输出添加标签,默认为true。

html_image

html_image用来为一个图片创建html标签,如果height和width不分配值将会自动生成。file是图片的路径,height,width,alt同html标签,basedir是图片相对路径开始的目录的路径,默认为服务器根目录。href定义图片的链接。

html_options

输出下拉列表,参数有name,values,output,selected,options。

html_radios

输出单选框,参数同复选框。

html_select_date

prefix定义各个下拉列表名字的前缀,默认为Date_。time决定使用的时间,默认是当前时间。start_year决定下拉列表开始的年份,可以用年份表示,也可以用与当前年份的相对年数来表示。默认是当前年份。end_year决定下拉列表结束的年份,可以用年份表示,也可以用与当前年份的相对年数来表示。默认是当前年份。display_days决定是否显示日期。display_months决定是否显示月份。display_years决定是否显示年份。month_format决定显示月份的格式,默认为%B。day_format决定显示日期的格式,默认为%02d。day_value_format决定日期值的格式,默认为%d。month_value_format决定月份值的格式,默认为%m。year_as_text决定是否将年份按文本格式输出。reverse_years决定是否反向输出各年份。field_array用来取得一组变量,可以用name[Day],name[Month],name[Year]的方式从form取得获得的值。day_size,month_size,year_size添加大小标签。all_extra,day_extra,month_extra,year_extra添加额外的属性到select或input标签。field_order决定年月日下拉列表的顺序,默认为MDY。field_separator不同下拉列表之间的分隔符,默认是\n。year_empty,month_empty,day_empty是在各下拉列表第一栏显示的内容。

html_select_time

prefix定义各个下拉列表名字的前缀,默认为Time_。time决定使用的时间,默认是当前时间。display_hours决定是否显示小时。display_minutes决定是否显示分钟。display_seconds决定是否显示秒数。display_meridian 决定是否显示上午或下午,即显示am/pm。use_24_hours 决定是否24小时制。minute_interval 决定分钟之间的间隔。second_interval 决定秒数之间的间隔。field_array用来取得一组变量,可以用name[Hour],name[Minute],name[Second]的方式从form取得获得的值。all_extra,hour_extra,minute_extra,second_extra ,meridian_extra添加额外的属性到select或input标签。

html_table

loop定义用于循环的一组数据。cols决定列的数目,rows决定行的数目,如果其中一个为空,另一个有值,则根据元素个数和有值的属性来计算另一个的值,两者的默认值为3。inner决定元素的列举方向cols则列跟着列排列,rows则行跟着行排列,默认为cols。table_attr,tr_attr,td_attr分别为table,tr,td增加标签,如果tr_attr,td_attr是数组,将会循环增加标签。trailpad用来填充最后一行没有值的单元格,默认是 。hdir决定每行元素的排列方向,从左到右right或从右到左left,默认为right。vdir决定每列的排列方向,从上到下down或从下到上up,默认为down。

math

进行数字运算操作。equation和var是必须的。equation定义运算式,可以使用的运算符有+, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans and tan。var给运算变量赋值。format确定结果的格式。assign将输出赋给一个参数。

mailto

使用mailto函数能使网络蜘蛛很难获取你的email地址,但是能在网页上正常显示,因为他把email地址进行了加密处理。address是必须的,定义email地址。text是显示在页面上的文本内容,默认是email地址。encode是加密email地址的方式,可以是none,hex或javascrīpt,默认是none。如果要把邮件发给其他的邮箱,可以用cc抄送,email地址之间用,分割。bcc则为密件抄送。subject是邮件主题。newsgroups是发表内容的新闻组,新闻组之间用,隔开。extra添加附加标签。followupto意思不知。

textformat

textformat用来格式化文本,他会去掉空格和特殊字符,和规定行宽和缩进。style规定当前的格式,indent规定缩进的位数。indent_first规定第一行的缩进。indent_char用来缩进的字符,默认是一个空格。wrap规定行宽,即一行的字符数,默认是80。wrap_char规定每行的分隔符,默认是\n。wrap_cut决定是否分割单词。assign将输出分配给变量。

常量

SMARTY_DIR

是到smarty类目录的完全路径,必须以/结束。如果没有定义,将会自动决定路径.

SMARTY_CORE_DIR

是到smarty类core文件目录的完全路径,必须以/结束。如果没有定义,将会自动定义为smarty_dir路径下面的子目录.

变量

$template_dir

默认的模板目录名,默认为"./templates".

$compile_dir

默认的编译模板目录名,默认为"./templates_c"

$config_dir

默认的config文件目录名,默认为"./configs".

$plugins_dir

默认的插件目录名,默认为"plugins".

$debugging

debugging控制台。即一个显示变量的窗口.

$debug_tpl

debug窗口的模板

$debugging_ctrl

另一种控制debugging的方法。

$autoload_filters

对所有的模板使用过滤程序,这个变量是一个数组,其中关键字是过滤的类型,值是过滤的名字。

$compile_check

每次php执行将是否查看模板的内容是否改变。

$caching

决定是否缓存文件执行生成的文件。

$cache_dir

默认的模板缓存目录名,默认为"./cache".

$cache_lifetime

缓存的模板的过期时间,以秒计算. $caching值为-1则缓存的模板永不过期.

最后我放个我用的例子.大家仅做一个参考吧

error_reporting(7);

$TurnDot  =  substr(PHP_OS, 0, 3) == 'WIN'  ?  ";"  :  ":"  ;

$doc_root=$_SERVER['DOCUMENT_ROOT'];   //默认获取根路径

//$doc_root="E:/Myweb/an-cool.com/Web" ; //这里是指定路径

$lib_root=".".$TurnDot.$doc_root."/shopadmin".$TurnDot.$doc_root."/shopadmin/inc".$TurnDot.$doc_root."/".$TurnDot.$doc_root."/jpgraph/src/".$TurnDot.$doc_root."/Smarty/libs/".$TurnDot.$doc_root."/Smarty";

ini_set("include_path",$lib_root);

include("conf.global.php");  //这里是装载一个全局配置文件.

$Templates_root = $doc_root."/templates";  //定义摸版根目录

define("Templates",$Templates_root);

$templates  = isset($INFO['templates'])  ?  $INFO['templates']  :  'default'  ;

include_once('Smarty.class.php');

$tpl = new Smarty();                                                                   //建立smarty实例对象$tpl

$tpl->debugging = false;

$tpl->template_dir   = Templates."/".$templates  ;                             //设置模板目录

tpl->compile_dir    = Templates."/".$templates  ."/templates_c";     //设置编译目录

$tpl->cache_dir      = $doc_root."/cache";                                //设置缓存目录

$tpl->cache_lifetime = 60 * 60 * 24;                                         //设置缓存时间

$tpl->cache_lifetime = 0;                                                          //设置缓存时间

$tpl->caching        = false;                                                        //这里是调试时设为false,发布时请使用true

$tpl->left_delimiter = '

$tpl->right_delimiter= '}>';

$tpl->assign("template_dir",  $INFO['site_url']."/templates/".$templates ); //摸板路径

$tpl->assign("Site_Url",      $INFO['site_url']); //主站URL

$tpl->assign("LanguageIs",    $INFO['IS']); //语言包类型

$tpl->assign("HtmlTitle", $INFO['site_title']);     //TITLE内容

$tpl->assign("HtmlMeta",  $INFO['meta_keyword']);  //META内容

?>

相关文章

本篇文章是对php 验证码(倾斜,正弦干扰线,黏贴,旋转)进行了详细的分析介绍,需要的朋友参考下2013-06-06

这篇文章主要介绍了php数组比较实现查找连续数的方法,实例分析了php数组查找及字符串操作的相关技巧,需要的朋友可以参考下2015-07-07

本篇文章是对php中empty()与isset()的区别进行了详细的分析介绍,需要的朋友参考下2013-06-06

大家都知道PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的!这篇文章给加总结介绍了PHP合并数组的2种方法,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。2016-11-11

这篇文章分享一个php生成16位随机数的代码,php生成随机数的二种方法,但简单,但很实用,需要的朋友可以参考下2014-09-09

这篇文章主要介绍了WordPress中用于获取搜索表单的PHP函数使用解析,即get_search_form函数的基本用法,需要的朋友可以参考下2016-01-01

这篇文章主要介绍了PHP大小写问题,php中变量名是区分大小写的,而函数名与类名是不区分的2013-06-06

恶意刷新就是不停的去刷新提交页面,导致大量无效数据了,下面我们来总结一下php 防止恶意刷新页面方法总结2012-10-10

用php这么久了,惭愧的是,原来自己还一直没分清楚这几个关键字使用方法。2009-10-10

本篇文章是对Linux下Varnish缓存的配置优化进行了详细的分析介绍,需要的朋友参考下2013-06-06

最新评论

php smarty 忽略,PHP详细彻底学习Smarty相关推荐

  1. php smarty 模版引擎,php模板引擎Smarty入门 - 小俊学习网

    如果要实现前端模板和后台逻辑业务处理相分离,MVC的思想开发网站的话,可使用模板引擎来完成.来学习php模板引擎Smarty,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法. 1. 什么是模板 ...

  2. 学习smarty手记一,如何配置smarty

    学习PHPSMARTY 下载 先在smarty.php.net下载最新smarty 一般做法: 1解压smarty. 2 将libs文件夹放在你的WEB目录下,我是放在smarty下的,目录情况如下: ...

  3. php smarty框架案例,php封装的smarty类案例

    这篇文章主要介绍了php封装的smarty类,针对Smarty的基本操作技巧进行了封装整理,具有一定参考借鉴价值,需要的朋友可以参考下 具体如下: /** * Project: Smarty: the ...

  4. smarty课程---最最最简单的smarty例子

    smarty课程---最最最简单的smarty例子 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个 ...

  5. php 视图层smarty,4. 视图引擎 View Engine - Smarty

    帮助我们实现View的开发. 好的视图引擎: 模板更加贴近标准的html 语法简单易懂 良好的缓存机制 扩展性良好 网络资源多 现在市面上有Smarty和PHPLIB.我们将就Smarty进行深入了解 ...

  6. smarty php5.5,thinkphp5.1使用Smarty模板引擎

    Thinkphp5.1使用Smarty模板引擎 习惯了使用smarty的小伙伴,如果不想修改已有的模板代码,可以直接使用composer安装Smarty库,修改模板配置文件就可以直接使用smarty模 ...

  7. smarty中使用php函数,在smarty模板中使用PHP函数的方法

    在smarty模板中使用PHP函数的方法 发布于 2014-11-23 22:57:51 | 174 次阅读 | 评论: 0 | 来源: 网友投递 Smarty模板引擎Smarty是一个使用PHP写出 ...

  8. PHP取经(二)变量、标量、特殊类型、常量——超详细PHP学习笔记

    初学小白超详细PHP学习笔记 定义变量 PHP-变量名的命名规则 变量的数据类型 标量类型--布尔类型 详述数据类型中的整型 标量类型 标量类型-浮点型 标量类型-字符串 当字符串中引号遇到美元咋办? ...

  9. smarty模板使用详细教程

    smarty模板在当前的php项目开发过程中运用非常广泛,若能熟练掌握smarty模板的使用,那么对于MVC模型会更深的体会与理解(不理解什么是MVC模型的,可以到如何理解MVC模型这篇文章看看!). ...

最新文章

  1. Windows下Redis如何永久更改密码
  2. Redis 实现限流的三种方式
  3. 大数据之Python入门语法基础
  4. java kryo 序列化_java中的序列化方式及dubbo使用kryo序列化
  5. 语句作用_3分钟短文:Laravel模型作用域,为你“节省”更多代码
  6. marquee文字起始位置_PS修图改字无痕扫描件复印件截图文字英文日期修改:制作漂亮红色丝绸文字图片的PS教程...
  7. 第 6-5 课:MyBatis 核心和面试题(下)
  8. 从四个问题透析Linux下C++编译链接
  9. 使用mybatis-generator工具加快开发速度
  10. Python学习手册--第一部分(使用入门)
  11. (超详细)2022年最新版java 8( jdk1.8u321)安装教程
  12. docker架构——第一本docker书
  13. 实现Modbus Rtu 服务端 通过RS485转4G方式 实现远程采集传输串口设备数据
  14. 夜曲歌词 拼音_《夜曲 - (原唱:周杰伦)》歌词 《夜曲 - (原唱:周杰伦)》LRC歌词?...
  15. win7桌面右下角的小喇叭音量图标不见了怎么办
  16. 《自然语言处理简明教程》读书笔记:第十四章 文本数据挖掘
  17. python爬携程景区评论_python爬取携程景点评论信息
  18. Android之获取地理位置
  19. 向量 模(module) 范数(norm)
  20. 电梯相框广告怎么选择其材质

热门文章

  1. Linux字符设备驱动详解七(“插件“设备树实现RGB灯驱动)
  2. 尚硅谷智慧校园 —— 5、学生管理功能实现
  3. 计算机科学与技术 研究生 缩招,今年这些学校不仅提高推免,统考还缩招了?!...
  4. 2021-01-20古文观止赏析
  5. 高温焊接对晶振的影响
  6. 0593-CDH5与CDH6对比
  7. 安卓手机与蓝牙模块联合调试(二)—— 单片机蓝牙控制LED灯亮灭(上)
  8. Dotween联合动画sequence的使用
  9. 考研复试班学姐揭秘考研复试中导师最爱问的问题
  10. 亚派科技与涂鸦智能签署深度合作协议,携手深耕智能化领域产业升级