20151118小问题

1.模板引擎

百度百科:模板引擎(这里特指用于Web开发的模板引擎)是为了使 用户界面与业务数据(内容)分享而产生的,它或以生成特定格式的文档,用于网站的模板引擎就会产生一个标准的HTML文档.

目的:生成一个标准的HTML文档.

概念:模板引擎不属于特定技术领域,它是跨领域跨平台的概念.在Asp下有模板引擎,在PHP下也有模板引擎,在c#下也有模板引擎,基础javascript,winform开发都会用到模板引擎技术.

原理:模板引擎的实现方式有很多,最简单的是"转换型"模板引擎,这类模板引擎只是将指定模板内容(字符串)中特定标记(子字符串)替换一下便生成了最终需要的业务数据(比如网页).

转换型模板引擎实现简单,但其效率低下,无法满足高负载的应用需求(比如有少量访问珠网站),因此还出现了"解释型"模板引擎和"编译型"模板引擎等.

模板引擎可以让(网站)程序实现界面与数据分享,这就大大提升了开发效率,良好孤设计也使得代码重用变得更加容易.

我们司空见惯的模板安装卸载等概念,基本上都和模板引擎有关千丝万缕的联系.模板不只是可以让你实现代码分离(业务逻辑代码和用户界面代码),也可以实现数据分离(动态数据和静态数据),还可以实现代码单元共享(代码重用),基至是多语言,动态页面和静态页面自动均衡(SDE)等等与用户界面可能没有关系的功能.

相关推荐:

Smarty:Smarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。是一个模板类,一般也简称为模板。Smarty里面有专门的模板引擎。模板的主要功能就是逻辑与显示的分离,也就是PHP和HTML的分离。

Heyes Template Class:一个非常容易使用,但功能强大并且快速的模板引擎,它帮助你把页面布局和设计从代码中分离。
FastTemplate:一个简单的变量插值模板类,它分析你的模板,把变量的值从HTML代码中分离处理。
ShellPage:一个简单易用的类,可以让你的整个网站布局基于模板文件,修改模板就能改变整个站点。

STP Simple Template Parser:一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面,把结果页面输出到浏览器或者文件系统。

OO Template Class:一个你可以用在自己程序中的面向对象的模板类。
SimpleTemplate:一个可以创建和结构化网站的模板引擎。它可以解析和编译模板。

 

2.Json

百度百科:JSON(javascript object notation)是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.json采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等).这些特性使json成为理想的数据交换语言.易于人阅读和编写,同时民易于机器解析和生成(一般用于提升网络传输速率).

json语法是javascript对象表示语法的子集,数据在键值对中,数据由逗号分隔,花括号保存对象,方括号保存数组.

json数据的书写格式是:名称/值对(也只可以说成键值对)

名/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开,也就是说不管名称还是值都要用双引号引起来,而且只能是双引号,不能是单引号.

json值可以是任何类型,包括number,string,boolen,array,object,null,undefined

有两种格式,花括号{}或方括号[].

用户在网页上书写的内容一般是以json字符串的形式传到后台的,后台拿到这个字符串不能直接使用,需要转化为对象形式才能使用,可以用JSON.parse()把json字符串转换成相对应的json对象.

为了更直观的了解json,可以看下面的代码

var json1='{"user":"honghong","age":38,"job":"CEO"}';var json2='["feng",20,"Programmer"]';var parseJSON=JSON.parse(json1,function(key,value){if(key==="user") value="huahua";console.log(key);//user age jobreturn value;});console.log(parseJSON);//Object{user:"huahua",age:38,job:"CEO"}var parseArr=JSON.parse(json2);console.log(json1);//{user:"huahua",age:38,job:"CEO"}console.log(typeof json1);//stringconsole.log(parseJSON.user);//huahuaconsole.log(json2);//["feng",20,"Programmer"]console.log(typeof json2);

转载于:https://www.cnblogs.com/sunshinegirl-7/p/4976467.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习——人工神经网络之发展历史(神经元数学模型、感知器算法)

目录 一、神经元的数学模型 ​ 二、感知器算法(SVM算法前身) 1、目的 2、流程 >>>问题1:下图w和b的调整是什么意思? 3、算法的有效性验证 1)原算法 2)增广矩阵 3)修改后的算法…

PHP 基础知识-数组

PHP 的数组主要分为: 索引数组 - 带有数字索引的数组关联数组 - 带有指定键的数组多维数组 - 包含一个或多个数组的数组 索引数组:有两种创建索引数组的方法:索引是自动分配的(索引从 0 开始): 第一…

打开word2016总是出现很抱歉,此功能看似中断需要修复。。问题解决办法

第一步 打开运行窗口,在电脑桌面左下角有个圆圈点击进去,输入regedit,即可进入。 第二步 打开HKEY_CURRENT_USER中的SOFTWARE 第三步 找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Word\Options项如图红色箭头标示。然后点击O…

机器学习——人工神经网络之多层神经网络(多层与三层)

目录 一、多层神经网络 1、多层神经网络数学模型 2、数学模型中的非线性函数fai 1)非线性函数fai存在的意义 2)非线性函数fai具体是什么? 3、多层神经网络与单层神经网络的区别与改进 1)单层神经网络数学模型 2&#xff0…

noip2012-day2-t2

【问题描述】 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租借教室的信息,我…

机器学习——人工神经网络之后向传播算法(BP算法)

目录 一、后向传播算法的本质——梯度下降法求局部极值 1、w迭代公式的合理性

获取视图的宽高

1 view.measure(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 2 int width view.getMeasuredWidth(); 3 int height view.getMeasuredHeight(); 转载于:https://www.cnblogs.com/cmgrass/p/4978222.html

排序算法02--冒泡排序

思路:冒泡排序 就是把大的数一个个沉到下面,当然也可以是把小的数一个个浮到上面。 在最外层需要比较n-1次,因为n-1个大的数被沉到了下面,剩下一个自然就是最小的数了。 在这n-1次的里层,还需要亮亮相互比较&#xff0…

机器学习——人工神经网络之参数设置(BP算法)

目录 一、复习(BP算法) 二、训练模型的建议 三、参数设置内容 1、随机梯度下降(SGD)

关于▲的各种交点

对于△ABC证明: ①三角形的三条中线交于一点: 等腰三角形:作中线BD、CE与AC、AB交于D、E,相交于O,连接AO并延长交BC于F; 证△ABD全等于△ACE,再证△EBO全等于△D…

javaScript获取url中的参数

var urlTools {//获取RUL参数值getUrlParam: function(name) { /*?videoIdidentification */var params decodeURI(window.location.search); /* 截取?号后面的部分 index.html?actdoctor,截取后的字符串就是?actdoctor */var reg …

机器学习——支持向量机SVMpython实现

一、SVM理论 可见以下文章: 《机器学习——支持向量机SVM之线性模型》 《机器学习——支持向量机SVM之非线性模型低维到高维映射》 《机器学习——支持向量机SVM之非线性模型原问题与对偶问题》 《机器学习——支持向量机SVM之非线性模型原问题转化为对偶问题》…

琐碎易错点

1.font-size 设置的是字体的高 2.浏览器内核: 主流浏览器   内核 IE       trident Firfox     Gecko Chorme    Webkit(原来)/blink(现在) Safari     Webkit(苹果公司独立研发的&a…

Python安装Jupyter Notebook配置使用教程

原文见:https://blog.csdn.net/qq_27825451/article/details/84427269 一、什么是jupyter 1、简介: jupyter notebook是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。它可以直接在代码旁…

ExtJS4.2学习(10)分组表格控件--GroupingGrid(转)

鸣谢网址:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-17/179.html --------------------------------------------------------------------------------------------- 分组表格控件在我们的开发中经常被用到,GroupingGrid…

九个Console命令,让js调试更简单

一、显示信息的命令 1: <!DOCTYPE html>2: <html>3: <head>4: <title>常用console命令</title>5: <meta http-equiv"Content-Type" content"text/html; charsetutf-8" />6: </head>7: <body>8: …

numpy——axis

size()和max()中的含义 以前我理解axis0代表行&#xff0c;axis1代表列&#xff1b; 但是这种含义在函数size()和max()中恰恰相反&#xff1b; 其实不是这样的&#xff0c;我们回到单词axis本身&#xff0c;它的意思是“轴”&#xff0c;没错轴就是代表一个方向&#xff0c;像…

Android ListView几个重要属性

1、transciptMode属性&#xff0c;需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息&#xff0c;并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件&#xff08;支持ScrollBar&#xff09;自动滑动到最底部…

Halcon例程(基于GMM模型的分类)详解 —— classify_citrus_fruits.hdev

一、例程简介 该例程比较有代表性&#xff0c;属于Halcon里的分类方法之一&#xff0c;直接调用Halcon封装好的GMM分类器&#xff08;高斯混合模型&#xff09;对橘子和柠檬进行分类。GMM属于概率分类方法&#xff0c;属于P(Y|X)&#xff0c;通过对样本的概率密度分布进行估计…

正则表达式匹配不包含特定字符串解决匹配溢出问题

匹配溢出问题在正则表达式当中算是比较常见的问题&#xff0c;它常常导致我们匹配结果莫名其妙的出错&#xff0c;本文专门为你讲解如何通过匹配不包含特定字符串的方法来解决这类问题。 那么&#xff0c;什么是匹配溢出呢&#xff1f; 下面我们来看个例子&#xff1a; 源文本&…