再见西城 发表于 2015-2-3 23:29:13

PHP网页设计smarty3.0中文手册文档API及利用指南

不过还好,PHP语言给出的语法错误很详细,只要稍微熟悉一点之后,看错误提示就能很容易找出错误所在的。PHP还有一个特别好用的调试功能,在PHP语句中,你可以随时用echo来输出结果。    Smarty2.0在线手册
http://www.php100.com/manual/smarty
Smarty3.0在线手册
http://www.php100.com/manual/smarty3
   
1、装置Smarty3.0
1、甚么是smarty?
smarty是一个利用PHP写出来的模板PHP模板引擎,它供应了逻辑与内在内容的分别,复杂的讲, 目标就是要利用PHP法式员同美工分别,利用的法式员改动法式的逻辑内容不会影响到美工的页面设计, 美工从头修正页面不会影响到法式的法式逻辑,这在多人协作的项目中显的尤其主要。
2、smarty长处:
1. 速度:采取smarty编写的法式可以取得最大速度的进步,这一点是相对其它的模板引擎手艺而言的。
2. 编译型:采取smarty编写的法式在运转时要编译成一个非模板手艺的PHP文件, 这个文件采取了PHP与HTML夹杂的体例,鄙人一次会见模板时将WEB恳求直接转换到这个文件中, 而不再停止模板从头编译(在源法式没有修改的情形下)
3. 缓存手艺:smarty选用的一种缓存手艺,它可以将用户终究看到的HTML文件缓存成一个静态的HTML页,
当设定smarty的cache属性为true时, 在smarty设定的cachetime期内将用户的WEB恳求直接转换到这个静态的HTML文件中来, 这相当于挪用一个静态的HTML文件。
4. 插件手艺:smarty可以自界说插件。插件实践就是一些自界说的函数。
5. 模板中可使用if/elseif/else/endif。在模板文件利用判别语句可以十分便利的对模板停止格局重排。
3、不合适利用smarty的中央:
1. 需求及时更新的内容。例如像股票显示,它需求常常对数据停止更新,这类型的法式利用smarty会使模板处置速度变慢。
2. 小项目。小项目由于项目复杂而美工与法式员兼于一人的项目,利用smarty会损失php开辟敏捷的长处。
翻开smarty的官方网站,www.smarty.net/download.php。下载Smarty 3.0rc4, 今朝依然是处于rc版本(Release.Candidate.就是刊行候选版本,与beta版原形比,不再有功效的增添,次要侧重于除错!)。 有tar.gz和zip分离合用于linux和windows版本。
下载好后tar –zxvf Smarty 3.0rc4.tar.gz
目次中,demo文件夹为示例文件。Libs为法式文件。
/libs/Smarty.class.php   #主文件
/libs/sysplugins/#外部plugin
/libs /plugins/   #内部plugin,可自在扩大
/demo/cahce/   #放置缓存文件
/demo/configs /   #放置可以载入的设置装备摆设文件
/demo/templates/   #放置模板文件
/demo/templates_c/    #放置对模板编译后的文件
最好在需求停止smarty处置的文件的目次中创立与demo中的不异的文件夹(注重文件夹具有web用户写权限), 固然也能够更改文件夹名和途径,默许值为处于被smarty处置的文件的同级目次。Smarty3.0需求php5.0以上。
2、调试Smarty3.0创立本人的文件,好比index.php。
在templates目次中创立模板index.tpl(几近可所以任何文本文件的扩大名, 经常使用的是tpl,php,html,不建议利用后二者,由于可以从阅读器直接会见而不平安。 可以对apache的httpd.conf停止设置,制止直接会见.tpl文件。或将templats目次放在网站文档树以外。)

require_once("../../Smarty-3.0rc4/libs/Smarty.class.php");
$smarty = new smarty();
$smarty->assign(‘name’,'韩灵稚’);
$smarty->display(‘templates/index.tpl ‘);
的代码:
<html><body>
<span>你好, {$name}</span>
</body></html>
Smarty编译时的处置进程是源php文件->模板文件(能够屡次挪用)->源php文件。。。
也就是说不影响原php文件的其他处置和输入。所以smarty模板文件可所以完全的html,也能够是个中一局部。
3、Smarty3.0基本3.1 smarty处置进程smarty将php源文件,起首编译成两头文件(也是php),假如启用缓存, 再依据编译文件生成缓存文件(也是php),需求缓存的局部全体是硬编码。 以后的每次会见城市会见编译文件(假如编译文件已存在), 一次编译屡次挪用(可所以单文件的屡次,也能够是多文件的屡次), 假如启用缓存且有缓存文件并且没有过时,则直接会见缓存文件,跳过编译文件。编译文件一经生成,就不会被主动更新,除非模板文件或设置装备摆设文件更改。 源php文件修正是不会激发从头编译的。 一旦编译文件从头生成,缓存文件也必定从头生成。
Smarty答应有两种特别的编译设置存在:
1、 任什么时候候都不主动从头编译(上线阶段):只要没有该文件的编译文件时才生成, 模板文件或设置装备摆设文件的更改,不会激发从头编译。
$smarty->setCompile_check(false)   
#默许为true,false暗示任什么时候候都不在产生文件变动的情形下生成编译文件,除无编译文件。
$smarty->getCompile_check()    #取得以后编译反省的设置
   2、任什么时候候都从头编译(调试阶段):任什么时候候都从头编译。
$smarty->setForce_compile(true)#默许为false,true暗示每次都从头编译(启用缓存的话,每次都从头缓存)
$smarty->getForce_compile()    #取得以后强迫编译的设置
3.2 分界符   在模板文件中,辨别通俗html代码和smarty代码靠的是分界符。默许情形下是“{ }“,然而与js和css相抵触。
可以停止变动。在3.0中模板标签将不撑持空格,如{$abc}在Smarty2中可以辨认的,
然而3.0外头就不可了,必需如许{$abc},如许是为了可以更好的撑持javascript和css。
$smarty->left_delimiter = "<{";   #左分界符,2.0属性,3.0沿用
$smarty->right_delimiter = "}>";   #右分界符,2.0属性,3.0沿用
注重:将默许分界符修正后,在3.0模板中依然不撑持空格,好比<{ $abc }>,有效。
3.3 正文{* smarty用*包括的文字为正文内容 *}
假如默许分界符修正为“<{}>“, <{* smarty用*包括的文字为正文内容 *}>。正文中的模板变量有效。
3.4 模板包括文件格局 {include file="要包括的文件称号 "}
Head.tpl
<span>这是顶部内容,接待你,{$name}</span><hr />
Index.tpl中加一下代码
{include file="head.tpl"}
输入了局:
这是顶部内容,接待你,韩灵稚。
您好,韩灵稚!
除包括其他设置装备摆设文件,还可以包括html、php(需求开启smarty撑持php模板的选项, 最好利用include_php函数)。包括文件还可使用传参。
Head.tpl
<span>{$nr},接待你,{$name}</span><hr />
Index.tpl
{include file="head.tpl" nr=”这是顶部内容”}
输入了局同上。
3.5 载入设置装备摆设文件可以事后划定一系列的变量与值的对应,并放在设置装备摆设文件中,在利用时载入。 设置装备摆设文件普通放在configs文件夹中,可以自界说。
My.conf
gv = "my.conf中的全局变量"   #全局设置装备摆设变量,任什么时候候挪用,都将被载入
#假如$sections,未设置,显示全体变量
   #部分设置装备摆设变量
fontcolor = "red"   #假如$sections,设置为red,只显示全局变量和中的变量
#部分设置装备摆设变量
fontsize = "12px"   #假如$sections,设置为size,只显示全局变量和中的变量
挪用设置装备摆设文件有两种办法,一种是在源文件处,一种是在模板文件处。
源文件处:$smarty->configLoad($config_file, $sections = null)
模板文件处:{config_load file="载入的设置装备摆设文件" section=”拔取的部分变量(可选)”scope=“感化模板局限(可选)“}
假如利用源文件的办法,载入的设置装备摆设文件变量的感化模板局限主动为global, 并且可以使用到多个模板中(smarty对象挪用了多个模板)。
假如利用后者,天真性更大。单个模板中config_load的scope参数的局限可所以local (本模板,只能本模板利用这些变量), parent(父模板或文件) 或global(统一个smarty对象所挪用的一切模板,其他模板不需求再载入该设置装备摆设文件)
在模板文件中利用设置装备摆设变量
{#设置装备摆设变量#}或{$smarty.config.变量称号}
【相干函数】
$smarty->getConfigVariable($variable)    #前往某个模板变量,该变量必需是parent或是global
$smarty->getConfigVars($varname = null)   #前往模板变量数组,或单个变量。
该变量或变量组必需是parent或是global
$smarty->clearConfig($varname = null)#排除一切设置装备摆设变量或指定的一个设置装备摆设变量
$smarty->setConfig_overwrite(false)   #假如设变量为真,则从设置装备摆设文件中读掏出来的变量(假如变量称号不异)
将会由最初一个值掩盖。反之,变量将会放到一个数组中。 不克不及用数组索引去会见,可使用cycle函数。该属性也有getConfig_overwrite函数。
$smarty->setConfig_booleanize(true);   #设置为true的话, 设置装备摆设文件中的on/true/yes/1 和 off/false/no/0值会主动转化为布尔值, false将变成字符串(假如作为判别前提,永久为真)。 该属性也有getConfig_booleanize函数。
3.6 情况设置装备摆设Smary剧本中是可以静态设置编译、模板、缓存、设置装备摆设途径。
$smarty->template_dir = "./templates";    #设置模板目次,2.0设置办法,3.0沿用但不保举
$smarty->compile_dir = "./templates_c";   #设置编译目次,2.0设置办法,3.0沿用但不保举
$smarty->config_dir = ‘./configs/’;      #设置设置装备摆设目次,2.0设置办法,3.0沿用但不保举
$smarty->cache_dir = ‘./cache/’;         #设置缓存目次,2.0设置办法,3.0沿用但不保举
Smary在3.0中对属性停止了封装。可使用以下办法停止会见取得目次。
$smarty->getCacheDir();   #失掉以后缓存目次途径
$smarty->getTemplateDir();   #失掉以后模板目次途径的数组
$smarty->getConfigDir(); #失掉以后 设置装备摆设目次途径
$smarty->getCompileDir(); #失掉以后编译目次途径
$smarty->getPluginsDir()   #失掉以后插件目次途径数组
一样用上面的办法停止目次设置
$smarty->setTemplateDir("../smarty1/templates/");    #设置新的模板目次,
注重设置后模板目次的数组只要该值一个,不论本来有几个值。
$smarty->setCompileDir("../smarty1/templates_c/");   #设置新的编译目次
$smarty->setConfigDir("../smarty1/configs/");      #设置新的设置装备摆设目次
$smarty->setCacheDir("../smarty1/cache/");         #设置新的缓存目次
$smarty->addTemplateDir("templates");   #援用的模板文件的途径必需在模板目次数值中,
不然报错,因为依然用本来的模板文件,所以添加上本来模板途径,如许模板数组中有两个途径。
$smarty->addPluginsDir(‘myplugins’);   #添加一个新的插件目次,假如用set将作废插件数组,变成单指
【相干函数】
$smarty->utility->compileAllTemplates($extention = ‘.tpl’, $force_compile = false,$time_limit = 0, $max_errors = null)   #直接编译一切模板目次下一切模板文件,用途不大。
$smarty->utility->clearCompiledTemplate($resource_name = null,$compile_id = null, $exp_time = null)
#排除编译目次下的编译文件或指定前提的编译文件。
$smarty-> setDefault_template_handler_func($fucname)   
#该函数在模板不克不及从它的源目次下获得时会失掉挪用,没有太大的意义,可以设置异常处置。
4、Smarty语法基本篇4.1 变量模板中的变量次要来历有三种。
1、是由原php文件平分配过去的。
$smarty->assign(‘name’,'韩灵稚’);    #在源php文件平分配
<span>你好, {$name}</span> #在模板文件中利用
2、是由设置装备摆设文件平分配过去的。
$smarty->configLoad(“configs/my.conf”)#在源php文件中载入设置装备摆设文件,也能够在模板中载入
<span style="color:{#fontcolor#}; font-size:{#fontsize#};">这是{#gv#}</span><br />#在模板文件中利用
3、是在模板文件中创立的。
{assign var="name" value="韩灵稚" nocache=”false”scope=”global”}   
#在模板中界说的变量,假如之前界说了不异的变量,则以最初一次界说为准。
{$name="韩灵稚"}    #给变量直接赋值,假如该变量本来不存在,主动创立,3.0新特征。
{assign var=foo value=}   #界说通俗数组变量
{assign var=foo value=['y'=>'yellow','b'=>'blue']}    #界说联系关系数组
{assign var=foo value=,3]}#界说数组中的数组
{$foo[]=1}    #增添变量数组$foo的一个元素
<span>你好, {$name}</span> #在模板文件中利用
【相干函数】
$smarty->getVariable($variable, $_ptr = null, $search_parents = true,
$error_enable = true) #取得变量,仅限于取得第一种体例的变量
$smarty->getTemplateVars($varname = null, $_ptr = null, $search_parents = true)   
#取得变量,可以取得第一种和第三种体例的变量(第三种体例变量scope必需为global或parent),
假如想取得设置装备摆设变量参看3.4
4.2 Smarty保存变量Smarty体系中保存了一些内置变量,可以疾速会见响应的变量。然而不克不及再源php中取得这些变量。
1、恳求会见变量(Request variables)
$smarty.get.变量       #显示经由过程get体例传过去的指定变量的值。
$smarty.post.变量      #显示经由过程post体例传过去的指定变量的值。
$smarty.cookies.变量 #显示经由过程cookie中指定变量的值。
$smarty.server.SERVER_NAME   #显示server变量值,phpinfo()中$_SERVER系列变量
$smarty.env.PATH   #显示体系情况变量值,phpinfo()中$_ENV系列变量
$smarty.session.变量 #显示session中指定变量的值
$smarty.request.变量 #显示经由过程post、get、cookie中指定变量的值。
2、工夫会见变量
{$smarty.now} #显示unix体系工夫戳,需求变量调理器格局化,参看4.2.4,也能够使利用{time()}
3、常量会见变量
{$smarty.const._MY_CONST_VAL}   #会见php中的常量包含自界说常量和体系常量
4、{$smarty.capture}
参看4.4.1
5、设置装备摆设会见变量
{$smarty.config.设置装备摆设变量}   #会见设置装备摆设变量,同等于 #设置装备摆设变量# 体例
6、{$smarty.section}, {$smarty.foreach}
参看4.4.3和4.4.4
7、{$smarty.template}   #显示模板途径和称号
4.3 变量操作4.2.1赋值{$name = 新值} 好比,{$name=”我的名字叫韩灵稚”}   #新值将替换原值,假如本来无该变量,
则创立变量并赋值。设置装备摆设变量没法从头赋值。
{$name = 表达式} 好比,{$name = 1+2+$foo['bar']}#$foo['bar']的值为1, 变量值为4
{$foo['bar']=1}    #给数组的一个元素赋值
{$foo['bar']['blar']=1}   #给多维数组的一个元素赋值
{$foo = array(1,2,3,4,5)}   #使用php函数创立变量$foo,并赋值。
4.2.2会见最复杂的会见办法是 {$var},设置装备摆设变量会见是{#configvar#}
数组变量的会见可所以{$array},也能够撑持{$array.1.1}
对象的会见{$object->method1($x)},也撑持对象链,{$object->method1($x)->method2($y)}
字符串与变量的夹杂输入
{"人人好,我是$name<br />"}   #Smarty可以辨认嵌入在双引号中的变量,
只需此变量只包括数字、字母、下划线。
{"人人好,我是`$name[$obj->a]`<br />"}    #中括号[]、句号. 对象相干 -> ,必需将变量用两个`符号括起。
4.2.3变量名变量与php不异,都撑持在变量称号中利用变量,smarty还撑持利用表达式。
$foo         #一个通俗的变量
$foo_{$bar}   #变量名中包括变量
$foo_{$x+$y}#变量名中可以撑持表达式
$foo_{$bar}_buh_{$blar}   #变量名包括多个变量
4.2.4变量调理器变量调理器次要是对变量停止格局化。
{$varcapitalize}   #将变量首字大写
{$varcount_characters:false}   #盘算变量里的字符数,false为不盘算空格。
若变量为数值则为数字和小数点等其他运算符的总和
{$var cat:var2} #将var2毗连到var,若为数值以字符串处置。
{$var count_paragraphs} #盘算变量里的段落数目,已“\n“辨别
{$var count_sentences} #盘算变量中句子的数目,欠好使
{$var count_words} #盘算变量中单词的数目 已非字母和数字的字符朋分统计
{$var date_format :"%H:%M:%S" } #格局化变量日起,详细参数看chm文档
{$var default:"no title" } #当变量为空时,为变量供应一个默许值
{$var escape:url}   #对变量值停止转码,详细参数看chm文档
{$var indent:10:"*"}    #对变量指定详细字符停止缩进,若为空格在html中不会显示出来,详细参数看chm文档
{$var lower}   #将变量小写
{$var nl2br }   #将变量中的“\n“转换成”<br />“
{$var regex_replace:"/[\r\t\n]/":" "} #将变量中的合适正则的内容交换成指定内容
{$var replace:"Garden":"Vineyard"} #将变量中请求的内容交换成指定内容
{$var spacify:"^^"} #将变量字符与字符之间拔出指定内容,包含空格
{$varstring_format:"%d"}   #将变量中的内容格局化,格局化参数同printf
{$var strip: "*"}#用一个空格或一个给定字符交换一切反复空格,换行和制表符
{$var strip_tags} #删除变量中的html标志, 去除<和>标签,包含在<和>之间的任何内容
{$var truncate:30:"…":true}    #截取变量的到划定的长度,详细参数看chm文档
{$var upper}    #将变量大写
{$var wordwrap:30:"\n":true}    #划定指定的长度强迫换行,详细参数看chm文档
修正器可以复合组合。
{$articleTitlelowerspacifytruncate:30:". . ."}
设置默许变量调理器
$smarty->getDefault_modifiers()    #默许为空数组
$smarty->setDefault_modifiers(array(‘spacify:"^^"’,'capitalize’)   #设置变量的默许调理器,必需用array
{name}    #模板变量name主动到场下面两个调理器
同时也能够界说本人的调理器,概况请参考6.7.4和6.8.4
4.2.5变量感化域(未写)4.4 内建函数4.4.1 capturecapture函数的感化是捕捉模板输入的数据并将其存储到一个变量里,而不是把它们输入到页面.
任安在 {capture name="foo"}和{/capture}之间的数据将被存储到变量$foo中。
如许可以依据实践情形,选择性的输入一些内容,输入的语法是$smarty.capture.变量。
{capture name="bottom"}
{include file="bottom.tpl" nr="这是底部的内容"}
{/Capture}
{if true }#停止前提判别,肯定是不是输入
{$smarty.capture.bottom}
{/if}
4.4.2 config_load参看3.4
4.4.3 foreach,foreachelseforeach 合适于复杂数组(元素类型不异)
{foreach name=称号 item=内容 key=键 from=数组}#2.0中的用法,3.0沿用
正常履行
{foreachelse}
From变量数组没有值时(0个元素)履行。
{/foreach}
例子:
{foreach name=for1 item=num from=$foo}
{$smarty.foreach.for1.index+1}个元素:{$num}<br />
{if is_array($num)}
{foreach name=for2 item=num2 key=key2 from=$num}
{$strcat:$smarty.foreach.for2.index+1cat:"个元素:"cat:$num2cat:" key是"cat:$key2indent:1:"."}<br />
{/foreach}
{/if}
{foreachelse}
{$smarty.foreach.for1.index+1}个元素:没有值!<br />
{/foreach}
foreach的内置变量
$smarty.foreach.foreachname.index   #(轮回外部利用)显示以后轮回的索引,假如数组为空,前往-1
$smarty.foreach.foreachname. iteration    #(轮回外部利用)显示以后的轮回次数
$smarty.foreach.foreachname.first #(轮回外部利用)假如为第一次轮回,前往true
$smarty.foreach.foreachname.last #(轮回外部利用)假如为最初一次轮回,前往true
$smarty.foreach.foreachname.total #(轮回表里部利用)显示轮回的总次数
foreach 在3.0中做必定的晋级,语法更接近于php,内置变量也更简约。
{foreach $myarray as $var}…{/foreach}
foreach的内置变量,都可在表里部利用
$var@key         #输入元素的键值,复杂为012,联系关系为详细键值。
$var@iteration      #显示以后的轮回次数,内部利用为最初一次
$var@index         #显示以后轮回的索引,假如数组为空,前往-1,内部利用为最初一次
$var@total          #显示轮回的总次数
$var@first         #假如为第一次轮回,前往true
$var@last         #假如为最初一次轮回,前往true
4.4.4 section,sectionelsesection合用于庞杂的数组操作,不合适联系关系数组。然而在3.0中并为对他做甚么晋级和修正,
而是直接推出了for号令,for更接近于php语法。可以预感,section将在将来版本中减少。
{section name=称号 loop=轮回数组(次数) start=入手下手(0) step=步阶(1) max=最大轮回次数 show=是不是显示(true)}   
#2.0中的用法,3.0沿用
正常履行
{sectionelse}
loop数组没有值时(0个元素)履行。
{/section }
例子:
{section name=sec1 loop=$foo step=1 start=0 show=true}
第{$smarty.section.sec1.index+1}个元素:{$foo}轮回次数是
{$smarty.section.sec1.iteration}<br />
{if is_array($foo)}
{section name=sec2 loop=$foo step=1 start=0 show=true}
第{$smarty.section.sec2.index+1}个元素:{$foo}
轮回次数是{$smarty.section.sec2.iteration}<br />
{/section}
{/if}
{sectionelse}
{$smarty.section.sec1.index}个元素:没有值!<br />
{/section}
Section的内置变量与foreach 不异。
4.4.5 include{include file="包括文件" var=”自界说传入包括文件的变量”assign=” 指定一个变量保留待包括模板的输入”}
假如划定了assign ,则包括文件不会即刻输入,模板输入的数据将存储到assign指定的变量里,
如许可以依据实践情形,再输入包括文件的内容。道理相似于capture。
4.4.6 include_php{include_php file="包括文件" once=”是不是指包括一次(true)”assign=” 指定一个变量保留待包括的输入”}
包括php文件,包括的文件正常编译,并供应输入。假如划定了assign ,
则包括文件不会即刻输入,输入的数据将存储到assign指定的变量里,
如许可以依据实践情形,再输入包括文件的内容。
4.4.7 insertInsert最大的特色是不缓存。他的参数能够会缓存。然而insert所挪用的函数外部不缓存。
{insert name=”函数称号” script=”包括函数的剧本”var….=”函数参数” assign=” 指定一个变量保留挪用的输入”}
Insert挪用的函数有出格的划定,函数格局必需是“smarty_insert_函数称号($params,&$smarty)”,
从insert传入的参数,会一致放到数组变量中,参数名为该数组的键值。
例子:
{insert name="maxnum" script="s2.php" x=12 y=13 assign=nn}   #模板文件,script为保留挪用函数的剧本
{foreach $nn as $n}
{$n}
{/foreach}
function smarty_insert_maxnum($arr)   #函数剧本文件
{
return $arr['x']>$arr['y']?$arr['x']:$arr['y'];
}
假如划定了assign ,则挪用函数的记功不会即刻输入,输入的数据将存储到assign指定的变量里,
如许可以依据实践情形,再输入包括文件的内容。
Insert也能够界说成组件,写入组件库中,概况请参考6.8.5
掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。

分手快乐 发表于 2015-2-3 23:38:21

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

乐观 发表于 2015-2-9 07:25:31

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

灵魂腐蚀 发表于 2015-3-1 15:45:56

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

不帅 发表于 2015-3-2 02:08:14

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

蒙在股里 发表于 2015-3-11 01:55:20

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

深爱那片海 发表于 2015-3-11 18:14:53

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

admin 发表于 2015-3-19 06:29:37

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

仓酷云 发表于 2015-3-27 09:11:01

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

因胸联盟 发表于 2015-4-7 16:57:33

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

活着的死人 发表于 2015-4-13 09:08:53

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

再见西城 发表于 2015-4-16 17:37:57

实践是检验自己会不会的真理。

简单生活 发表于 2015-4-19 10:34:44

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

小妖女 发表于 2015-4-19 19:09:08

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

第二个灵魂 发表于 2015-4-26 17:11:47

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

飘灵儿 发表于 2015-4-26 21:16:54

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

兰色精灵 发表于 2015-5-1 01:10:50

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

只想知道 发表于 2015-5-3 17:09:21

如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,

精灵巫婆 发表于 2015-5-3 21:18:13

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

透明 发表于 2015-5-5 07:46:16

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
页: [1]
查看完整版本: PHP网页设计smarty3.0中文手册文档API及利用指南