仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 965|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计smarty3.0中文手册文档API及利用指南

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:29:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不过还好,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目次放在网站文档树以外。)
  [Index.php]
  require_once("../../Smarty-3.0rc4/libs/Smarty.class.php");
  $smarty = new smarty();
  $smarty->assign(‘name’,'韩灵稚’);
  $smarty->display(‘templates/index.tpl ‘);
  [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,未设置,显示全体变量
  [color]   #部分设置装备摆设变量
  fontcolor = "red"   #假如$sections,设置为red,只显示全局变量和[color]中的变量
  [size]  #部分设置装备摆设变量
  fontsize = "12px"   #假如$sections,设置为size,只显示全局变量和[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=[1,2,3]}     #界说通俗数组变量
  {assign var=foo value=['y'=>'yellow','b'=>'blue']}    #界说联系关系数组
  {assign var=foo value=[1,[9,8],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[1][1]},也能够撑持{$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 capture  capture函数的感化是捕捉模板输入的数据并将其存储到一个变量里,而不是把它们输入到页面.
任安在 {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,foreachelse  foreach 合适于复杂数组(元素类型不异)
  {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,sectionelse  section合用于庞杂的数组操作,不合适联系关系数组。然而在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[sec1]}  轮回次数是
  {$smarty.section.sec1.iteration}<br />
  {if is_array($foo[sec1])}
  {section name=sec2 loop=$foo[sec1] step=1 start=0 show=true}
  第{$smarty.section.sec2.index+1}个元素:{$foo[sec1][sec2]}  
轮回次数是{$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 insert  Insert最大的特色是不缓存。他的参数能够会缓存。然而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程序,做为目标,
不帅 该用户已被删除
5#
发表于 2015-3-2 02:08:14 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
蒙在股里 该用户已被删除
6#
发表于 2015-3-11 01:55:20 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
深爱那片海 该用户已被删除
7#
发表于 2015-3-11 18:14:53 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
admin 该用户已被删除
8#
发表于 2015-3-19 06:29:37 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
9#
发表于 2015-3-27 09:11:01 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
因胸联盟 该用户已被删除
10#
发表于 2015-4-7 16:57:33 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
活着的死人 该用户已被删除
11#
发表于 2015-4-13 09:08:53 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
再见西城 该用户已被删除
12#
 楼主| 发表于 2015-4-16 17:37:57 | 只看该作者
实践是检验自己会不会的真理。
简单生活 该用户已被删除
13#
发表于 2015-4-19 10:34:44 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
小妖女 该用户已被删除
14#
发表于 2015-4-19 19:09:08 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
第二个灵魂 该用户已被删除
15#
发表于 2015-4-26 17:11:47 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
飘灵儿 该用户已被删除
16#
发表于 2015-4-26 21:16:54 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
兰色精灵 该用户已被删除
17#
发表于 2015-5-1 01:10:50 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
只想知道 该用户已被删除
18#
发表于 2015-5-3 17:09:21 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
精灵巫婆 该用户已被删除
19#
发表于 2015-5-3 21:18:13 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
透明 该用户已被删除
20#
发表于 2015-5-5 07:46:16 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 03:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表