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

比如:

  1. 融合, 就是用echo或print输出html的东西, 这是我们以前用得最多的一种,但是这种在很多时候, 并不能满足需求
  2. 完全混合, 就是html和php完全自由地混在一起,这个是我们应该掌握的重要。这时候,php标签和代码,就不必分行写了,一般比较短小,写在一行就可以了。
  3. 第三种融合,就是使用php的定界符,即 echo <<<eof ...这个里面可以使用 php的变量;当然也可以是任意的html和js代码 eof...
  4. php变量跟html代码混合写的时候,为了区分变量结尾字符, 要把变量整体用大括号括起来: {$name}不只是阔后面的name,否则,就成了变量名为{name}的变量,这种变量名当然是非法的。 同时,大括号是不会被解析的,因为大括号是php的关键字。

所有的 html标签(除了br和img) 都要有开始和结束标签, 这个应该养成一个常识和信念,自觉的自发概念!

像ul》li标签,如果一个li标签, 没有写结束标签,那么他不会马上变成行级元素,不会马上换行, 一直要等到输出内容遇到下一次的li标签才能换行,才认为是下一个列表项。

在echo中,变量加上大括号?

  1. 变量加上大括号,只能是作为字符串,必须放在引号内,
  2. 否则,如果直接放在echo外面, 就会认为是语法错误, 因为echo后面不能带结构体,只有像if, for, while等关键字后面。。
  3. 变量要输出, 一定要放在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的更多相关文章

  1. JavaScript--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)

    一.介绍 我们继续面向对象吧,这次是面向对象编程的第二篇,主要是讲创建对象的模式,希望大家能从博客中学到东西. 时间过得很快,还是不断的学习吧,为了自己的目标. 二.创建对象 1.前面的创建对象方式 ...

  2. JS--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)

    一.介绍 我们继续面向对象吧,这次是面向对象编程的第二篇,主要是讲创建对象的模式,希望大家能从博客中学到东西. 时间过得很快,还是不断的学习吧,为了自己的目标. 二.创建对象 1.前面的创建对象方式 ...

  3. 缓冲&缓存&对象池概念的理解

    一).缓冲 作用:缓解程序上下层之间的性能差异. 1).当上层组件的性能优于下层组件时加入缓冲机制可以减少上层组件对下 层组件的等待时间. 2).上层组件不需要等待下层组件接收全部数据,即可返回操作, ...

  4. 利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据

    利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据 实现描述:将数据存放在js对象中, 然后放在父页面的document对象中, 在页面刷新的时候将父页面的值取出来, ...

  5. DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为(转)

    一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢 ...

  6. js对象详解

    js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在J ...

  7. js对象私有变量公有变量问题

    0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...

  8. js 对象深复制,创建对象和继承

    js 对象深复制,创建对象和继承.主要参考高级编程第三版,总结网上部分资料和自己的代码测试心得.每走一小步,就做一个小结. 1.对象/数组深复制 一般的=号传递的都是对象/数组的引用,如在控制台输入 ...

  9. js对象的定义及处理

    一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascrip ...

随机推荐

  1. CentOS下挂载数据盘

    CentOS下挂载数据盘 1.显示磁盘使用情况:#df 2.显示磁盘:#fdisk -l 3.格式化分区:#mkfs.ext4 /dev/vdb1           //注:将/dev/vdb1格式 ...

  2. html常用文本标签(转)

    内容一<br />内容二 让文本强制换行 内容一内容二 <p>段落一</p><p>段落二</p> 段落标签 段落一 段落二 <b> ...

  3. 记无法用被动方式登录远程linux主机的原因

    [环境]: linux主机:华为企业云 ftp服务端:vsftpd 客户端:ftp命令行工具,安卓端ES文件浏览器 [现象]: 在ES文件浏览器中,使用被动方式没法连接,使用主动方式可以连接,但是没法 ...

  4. SVN windows内修改日志内容(错误解决)

    在我的电脑是windows 7,使用TortoiseSVN客户端,选中代码目录,点击右键,选择<显示日志> 显示日志信息 修改原来的日志信息(在需要修改的版本的日志中点击鼠标右键,显示如下 ...

  5. 学习笔记<4>初步控件布局

    一.控件布局基本概念 指控制控件在Activity当中的位置.大小.颜色以及其他控件样式属性 二.控件布局两种方法 1.使用布局文件完成控件布局(eclipse可视化拖拽控件实现) 2.在JAVA代码 ...

  6. Java基础(basis)-----代码块详解

    1.静态代码块 格式: static{ 内容..... } 随着类的加载而加载,而且只被加载一次 多个静态代码块之间按照顺序结构执行 优先其他各种代码块以及构造函数先执行 静态的代码块中只能执行静态的 ...

  7. [protocol]GO enrichment analysis

    [protocol]GO enrichment analysis     背景: 什么是富集分析,自己可以百度.我到目前也没发现一个比较通俗易懂的介绍.直接理解为一种统计学方法就可以了. 用于查看显著 ...

  8. Linux基础命令---文本统计wc

    wc 统计文件的字节数.单词数.行数. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法         wc [选项]  f ...

  9. Spring Advisor

    SpringAdvisor 顾问:在通知的基础之上,在细入我们的切面AOP 通知和顾问都是切面的实现方式 通知是顾问的一个属性 顾问会通过我们的设置,将不同的通知,在不同的时间点把切面织入不同的切入点 ...

  10. 计算概论(A)/基础编程练习(数据成分)/3:整数的个数

    #include<stdio.h> int main() { ] = {}; // 输入k个正整数 scanf("%d",&k); // 循环读入和进行算术 w ...