php的缓冲/缓存 js对象 ,php编程的深入思考-1
proto- 表示前缀, 表示“原始的, 主要的, 原型的, 最初的. 所以 prototype: 是原型的意思.
webserver服务器apach, 的角色,就像一个 仓库/仓库保管员而已. 只是接收/处理/响应请求的, 他的代码是c语言写的, 只包括 socket的创建, 连接, 响应等 , 他本身并不包含 渲染html网页. 渲染网页html代码的, 是browser 的功能. 所以, **你放在服务器上的这些都只是 文件, 只是代码, 他们并不会在服务器端被渲染, ** 只是寄存 , 寄放在服务器上而已,相当于一个仓库/保管员而已 等着被请求, 被发送. 所以 , 写html网页代码(以及php转换后的代码)的时候, 只要是 浏览器browser 能识别/解析执行的代码, 都是可以的, 你不必考虑服务器这一端的.
php代码直接连接mysql数据库的例子
<?php
error_reporting(E_ALL ^ E_NOTICE );
$host= '127.0.0.1';
$user='root';
$passwd = '';
$db="test";
if( ! $cid=mysql_connect($host,$user,$passwd)) die('failed to connect to server!');
mysql_select_db($db,$cid);
$res = mysql_query('select * from user'); // 这里的$res, 既可以认为是result, 结果, 也可以认为是resource. 资源.
while($row = mysql_fetch_row($res)){
// echo $row[0] .':'.$row[1]. '<br/>';
// 或者硬是要使用foreach来遍历输出每一行的内容
foreach($row as $v){
echo $v.':';
}
echo '<br/>';
}
mysql_free_result($res);
mysql_close($cid);
php的标签, 好像只有2种,并不是某些说的4种, 只能是 : <?php....?>和 <script language="php">...</script> 那种 <% ...%> 和 <? ... ?> 的写法是无效的
在php标签中的 最后一个语句, 可以不使用语句结束符号:分号;
php是参考c和perl,等语言写的,所以, 凡是c能用的语法php都可以用, 而且比c的语法更灵活, 更"兼容错误"
如$i++; $sum += $i; if()...elseif....等,如: for ($i=0; $i<10; $i++) $sum += $i;
php和html的混合写法
不只是指一个文件中,既可以包含php代码和html代码,不只是指php代码和html代码的分开/成段成段的。 而是指 php代码和html代码的完成混合, 是指可以把php和html和js代码,看成是完全没有区别的,完全可以无缝混合的,即: 想怎样写就怎样写,想在什么位置写就在什么位置写,想什么时候写就什么时候写,完全不用考虑任何东西的.只要把 php的代码放在相应的<?php ...?> 尖括号内就行了 注意凡是php的代码, 哪怕是只有一个{ } 都要放在php标签中, 这些所有的东西, 包括php和js,最后都要转换成html
比如:
- 融合, 就是用echo或print输出html的东西, 这是我们以前用得最多的一种,但是这种在很多时候, 并不能满足需求
- 完全混合, 就是html和php完全自由地混在一起,这个是我们应该掌握的重要。这时候,php标签和代码,就不必分行写了,一般比较短小,写在一行就可以了。
- 第三种融合,就是使用php的定界符,即
echo <<<eof ...这个里面可以使用 php的变量;当然也可以是任意的html和js代码 eof... - php变量跟html代码混合写的时候,为了区分变量结尾字符, 要把变量整体用大括号括起来:
{$name}不只是阔后面的name,否则,就成了变量名为{name}的变量,这种变量名当然是非法的。 同时,大括号是不会被解析的,因为大括号是php的关键字。
所有的 html标签(除了br和img) 都要有开始和结束标签, 这个应该养成一个常识和信念,自觉的自发概念!
像ul》li标签,如果一个li标签, 没有写结束标签,那么他不会马上变成行级元素,不会马上换行, 一直要等到输出内容遇到下一次的li标签才能换行,才认为是下一个列表项。
在echo中,变量加上大括号?
- 变量加上大括号,只能是作为字符串,必须放在引号内,
- 否则,如果直接放在echo外面, 就会认为是语法错误, 因为echo后面不能带结构体,只有像if, for, while等关键字后面。。
- 变量要输出, 一定要放在echo语句中,否则是不会自动出来的。在echo <<<eof中, 因为前面已经有echo了,所以后面就不必再用echo了,直接使用,因为已经有eof, 做标识了,就相当于双引号了,所以就不必再加引号了! 注意这个跟直接echo的有区别。
经常多读apache官方的,php源码的,代码, 对自己的扩展是非常有帮助的!其实php语言蛮好的, php就如同C、c++, java一样!像switch, if...elseif.....等等都非常好用!
在php文件中, 可以在最开始利用php代码处理数据, 整个文件都放在 php标签中, html正文放在 echo <<<eof字符串中。这样,就可以使用前面的php处理结果中的 任何变量了...注意,这个eof其实是有意义的,不一定是f可以是任何你有意义的单词,比如是文件结尾,就用eofile, 如果是页面结尾就用 EOPAGE。。。
<?php
$rd = rand();
$name ="foo";
$passwd = "bar";
echo <<<EOPAGE
<html>
<head><title> 标题利用前面的php处理结果: 随机数 {$rd} </title></head>
<body>
正文用echo eof来输出: {$name}: {$passwd}
</body>
</html>
EOPAGE;
?>
php的缓冲/缓存 js对象 ,php编程的深入思考-1的更多相关文章
- JavaScript--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)
一.介绍 我们继续面向对象吧,这次是面向对象编程的第二篇,主要是讲创建对象的模式,希望大家能从博客中学到东西. 时间过得很快,还是不断的学习吧,为了自己的目标. 二.创建对象 1.前面的创建对象方式 ...
- JS--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)
一.介绍 我们继续面向对象吧,这次是面向对象编程的第二篇,主要是讲创建对象的模式,希望大家能从博客中学到东西. 时间过得很快,还是不断的学习吧,为了自己的目标. 二.创建对象 1.前面的创建对象方式 ...
- 缓冲&缓存&对象池概念的理解
一).缓冲 作用:缓解程序上下层之间的性能差异. 1).当上层组件的性能优于下层组件时加入缓冲机制可以减少上层组件对下 层组件的等待时间. 2).上层组件不需要等待下层组件接收全部数据,即可返回操作, ...
- 利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据
利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据 实现描述:将数据存放在js对象中, 然后放在父页面的document对象中, 在页面刷新的时候将父页面的值取出来, ...
- DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为(转)
一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢 ...
- js对象详解
js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在J ...
- js对象私有变量公有变量问题
0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...
- js 对象深复制,创建对象和继承
js 对象深复制,创建对象和继承.主要参考高级编程第三版,总结网上部分资料和自己的代码测试心得.每走一小步,就做一个小结. 1.对象/数组深复制 一般的=号传递的都是对象/数组的引用,如在控制台输入 ...
- js对象的定义及处理
一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascrip ...
随机推荐
- python中安装并使用redis
数据缓存系统:1:mongodb:是直接持久化,直接存储于硬盘的缓存系统2:redis: 半持久化,存储于内存和硬盘3:memcache:数据只能存储在内存里的缓存系统 redis是一个key-val ...
- GBDT:梯度提升决策树
http://www.jianshu.com/p/005a4e6ac775 综述 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Ad ...
- BestCoder Round #55 ($)
C 构造一个矩阵,然后采用矩阵快速幂 #include <iostream> #include <algorithm> #include <string.h> #i ...
- Sitecore CMS中配置项目图标
在Sitecore中,图标通常用于通过各种不同的模板类型快速区分项目.文章可能使用红色图标,而列表页面可能使用蓝色.项目上设置的图标可以在内容树中看到,也可以在选择项目时在内容编辑器的顶部看到. 从功 ...
- 【转】HTTP429
转载:http://codewa.com/question/45600.html Q:How to avoid HTTP error 429 (Too Many Requests) python Q: ...
- Quick-Cocos2d-x文件结构分析
在上一章我们讲过了Quick-Cocos2d-x中的环境搭建,这章我们分析下quick中的文件结构吧!打开quick的文件夹,可以看到如下的这些目录和文件: bin:存放各种与引擎相关的脚本 comp ...
- Qt & VS2013 报错:There's no Qt version assigned to this project for platform Win32
如果你想了解关于Qt与VS2013开发环境搭建,可以至此翻页. 这里主要分享环境已搭建成功,在构建项目时遇到的报错解决方案. [1]Qt 与 VS2013开发环境构建时报错 报错界面如下: 注意:对话 ...
- php小数加减精度问题,比特币计算精度问题
php小数加减精度问题,比特币计算精度问题 在php开发时,有小数加减的场景.结果发现不能够等于预想的值,bccomp比较二个高精确度数字.语法: int bccomp(string left ope ...
- golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...
- jenkins1
持续集成工具: Jenkins 和 Hudson是同源的. 甲骨文和开源社区之间的关系破裂,该项目被分成两个独立的项目. Jenkins:由大部分原始开发人员组成,Hudson:由甲骨文公司继续管理 ...