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 ...
随机推荐
- 数据库所有者 (dbo)
数据库所有者 (dbo) dbo 是具有在数据库中执行所有活动的暗示性权限的用户.将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上.另外,由固定服务器角 ...
- import caffe报错问题
在搭建好的caffe环境下运行Python报错:ImportError:No module named _caffe 报错原因:由于caffe的Python环境变量未配置好 解决方案: 方法1 imp ...
- Yii2将查询数据变为键值对数组及查询构建器
- Yii2开发小技巧
工作中或多或少会用到的关于 Yii2 的小技巧的一个总结,包括model.controller.view或者配置文件的一些写法. 模型相关 获取查询SQL $query = User::find()- ...
- turtle库基础练习
1.画一组同切圆 import turtle turtle.circle(10) turtle.circle(20) turtle.circle(30) turtle.circle(40) turtl ...
- string 常量池 栈 堆
- 20165305 苏振龙《Java程序设计》第四周学习总结
第五章 继承: 面向对象中,为避免多个类间重复定义共同行为.(简单说就是将相同的程序代码提升为父类.) 特点: 这里接触到了新的关键词,extends,在java语言中用estends来继承父类的行为 ...
- MyBatis学习(一)简单入门程序
MyBatis入门学习 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...
- Linux基础命令---显示树形进程pstree
pstree pstree显示正在运行的进程的树形结构,树以PID为根:如果省略了pid则以init为根.如果指定了用户名,则显示根植于该用户拥有的进程的所有进程树.如果pstree被调用为pstre ...
- CATALINA_OPTS和 JAVA_OPTS区别
在Tomcat的catalina.sh文件中的启停server脚本中都应用到了两个变量: CATALINA_OPTS和JAVA_OPTS.用于保存Tomcat运行所需的各种参数. 他们在文件中的注释如 ...