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. c#之如何计算哈希值字符串

    代码如下: /// <summary> /// 计算哈希值字符串 /// </summary> public static string ComputeHash(byte[] ...

  2. html5-fieldset和legend和keygen元素的用法

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. hdu4784

    题意: 给了一个图 从1号节点走到N号节点,然后,每个地方有买卖盐的差价,然后求 到达N的最大价值,一旦走到N这个点就不能再走了,或者走到不能再别的世界走1和N这两个点,然后接下来 用一个 四维的数组 ...

  4. Python -- print(dataframe)时,省略部分列。

    import pandas as pd # 导入后加入以下列,再显示时显示完全. pd.set_option('display.max_rows',500) pd.set_option('displa ...

  5. 基于TCP/IP协议的socket通讯client

    package com.ra.car.utils; import java.io.BufferedReader; import java.io.IOException; import java.io. ...

  6. Log4j基础知识

    Log4J是Apache的一个开放源代码的项目.通过使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日 ...

  7. 收音机FM和AM的区别

    1.频率区别 FM = Frequency Modulation 调频,微波:微波传输,信号质量高,传输成本低,发射功率小,覆盖范围小,受地理因素影响较大,一般作为城市广播的首选.比如你的家乡城市台, ...

  8. [资讯] NFC有什么作用。小米手机3NFC解读

    在近几年的智能手机市场,NFC成了Android高端手机产品的标准配置,无论是Android还是Windows Phone阵营,有越来越多的厂商也开始为自己的产品加入NFC功能.而小米最新的旗舰产品— ...

  9. C#中对Web.Config、App.Config字符串加密与解密的方法

    我们平常的项目里面的配置文件通常都是明文形式的存在,现在就是为了项目安全性增强,同时又显得高逼格点, 我们可以采用加密的方式,而我们C#很强大,因为他内置的一些指令方式,很方便而且使用起来还不用解密, ...

  10. shell命令行快捷键

    ctrl+a[A]:将光标移到命令行开头 ctrl+e[E]:将光标移到命令行结尾 ctrl+c[C]:强制终止命令执行 ctrl+u[U]:删除/剪切光标之前的所有字符 ctrl+y[Y]:粘贴ct ...