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# 确定dynamic类型的数据对象是否存在某个属性

    public static bool IsPropertyExist(dynamic data, string propertyname)   {     if (data is ExpandoObj ...

  2. 关于js语句的分号

    我在使用js的时候可能发现一个现象:js语句结尾有时候有分号,有时候没有,没有的时候js代码也是能正确执行的. 到底要不要写分号?QAQ 转自博客园@winter-cn JavaScript自动加分号 ...

  3. html5-盒子模型

    /*div{background: green;width: 60%;padding-top: 10px;padding-right: 20px;padding-bottom: 30px;paddin ...

  4. sitecore系列教程之Sitecore个性化-体验概况概述

    SITECORE 8:体验概况概述 什么是体验简介? 体验配置文件是Sitecore中的仪表板应用程序,它说明了客户体验和交互的关键区域,例如访问者详细信息,访问,活动,目标,配置文件,自动化等等. ...

  5. jQuery属性--addClass()和removeClass()

       addClass(class|fn) 概述 为每个匹配的元素添加指定的类名 参数 class  一个或多个要添加到元素中的CSS类名,请用空格分开: function(index, class) ...

  6. DataBase(28)

    1.数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立.使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完 ...

  7. Shell 比较两个数的大小

    格式很重要多一个空格少一个空格都可能出错 li@ubuntu:~/test$ cat compare.sh #!/bin/bash read x read y if [ $x -lt $y ] the ...

  8. 100.容器List-ArrayList

    package collection; import java.util.ArrayList; import java.util.Collection; import java.util.Date; ...

  9. 75.Java异常处理机制throws

    package testDate; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IO ...

  10. hashcat使用命令简介

    1.指定HASH类型 在HashCat中--hash-type ?参数可以指定要破解的HASH类型,运行hashcat主程序加上--help参数,在* Generic hash types:中可以看到 ...