《php与MySQL Web开发》-读书笔记一
来源:互联网 发布:ubuntu好看的壁纸 编辑:程序博客网 时间:2024/04/25 15:25
1 require和include函数
相同点:用法几乎相同
唯一区别: require()函数会给出一个致命错误,而include()只给一个警告。
变种require_once和include_once:
防止错误的引入同样的函数库两次。出现重复定义的错误。而原版本的运行速度较快。
2 require用法
php不会查看require函数中文件的扩展名。使用require()语句载入文件page.html,文件内任何php命令都会被处理。但php代码放到php标记之间才会被处理成php代码。否则,代码将被视为文本或html脚本不会被执行。
// page.html<?php echo "this is in php env";?>echo "this is out of php env and printed in text format";
注意:通常,php只解析扩展名被定义为.php的文件。而require函数则不同。
3 调用未定义的函数时,怎么办?
检查:
1 函数名称的拼写是否正确
2 函数是否存在于所用的php版本库中
4 函数名称的大小写
请注意:
函数调用不区分大小写,所以调用function_name()和Function_name()或FUNCTION_NAME()都是有效的,而且返回相同的结果。
但是, 变量名是区分大小写的。所以$Name和$name是两个不同的变量。
5 封闭php标记
<?php function my_fun() {?>//这里必须有php封闭标记my function was called.<?php }?>
6 PHP内置函数
所谓的PHP内置函数,就是在php程序的库里面规定以了的函数,比如echo,str_replace等。
在所有的php脚本中都可以使用php内置函数,但如果声明自己的函数,那它们就只能在自己的脚本中使用。
php不支持函数重载,所以不能和内置函数重名。
因此,避免再多个脚本中定义相同的函数名。
7 可变函数
<?phpfunction foo(){ echo "In foo()<br />\n";}$func = 'foo';$func();
$func()并不是一个函数合法名称,但是它也可以正确执行,这是根据$func的值来确定。php取出保存在$func中的值,寻找具有那个名称的函数,并且调用该函数。这种函数被称为可变函数。
8 echo对变量的影响
function fn() { $var = "contents";}fn();echo $var; // 什么也没有输出// 如下所示的例子刚好相反。在函数外部声明一个变量,然后在函数内部使用它<?phpfunction fn() { echo "inside the function, \$var = ".$var. "<br/>"; // 创建一个局部变量 $var $var = "contents 2"; // 改变局部变量 $var 的值 echo "inside the function, \$var = ".$var. "<br/>";}$var = "contents 1";fn();echo "outside the function, \$var = ".$var. "<br/>"// outputinside the function, $var =inside the function, $var = contents 2outside the function, $var = contents 1 // 全局 $var 没有改变
9 global关键字
global可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。
function fn() { global $var; $var = "contents"; echo "inside the function, \$var = ". $var ."<br/>";}fn(); echo "outside the function, \$var = ". $var ."<br/>";// outputinside the function, $var = contentsoutside the function, $var = contents
变量的作用域是从执行global $var这一句开始的。
当一个变量要在整个脚本中都要用到,在脚本的开始处使用关键字global
10 参数引用传递
function increment(&$value, $amount =1) {$value=$value+$amount;}$value = 1;echo $value; // print 1increment($value);echo $value; // print 2
11 类的属性
class A{ public $attribute; public __construct() { $this->date = date('Y-m-d'); }// 内部通过 __set __get 访问实现属性设置和访问 public __set($name, $value) { $this->$name = $value; } public __get($name) { return $this->$name; }}$a = new A();// 在类中使用 $this 调用一个未定义的属性时,php5 会自动创建一个属性供使用,且这个被创建的属性默认方法权限是 publicecho $a->date;echo '<br />'; $a->$attribute = 5; // 该语句将间接调用__set()函数,将$name参数设置为“attribute”,而$value的值设置为5。
12 使用 final 关键字禁止继承和重载
class A{ public $attribute = "default value"; final function operation(){ echo '不能被子类重载'; }}// 也可以使用 final 关键在来禁止一个类被继承。final class A{ ...}
13 PHP 面向对象的高级功能
13.1 使用 Per-class 常量
class Math{ const pi = 3.1415926;}echo "Math::pi = ".Math::pi."\n"; // 不需要初始化类就可以访问
13.2 检查类的类型和类型提示
instanceof 关键字允许检查一个对象的类型。可以检查一个对象是否是特定类的实例,是否是从某个类过来或者是否实现了某个接口。
class A {}class B extends A {}interface Displayable {}{$b instanceof B} 返回 true{$b instanceof A} 返回 true{$b instanceof Displayable} 返回false
待续…
14 PHP 中的this self parent
this 是在类实例化的时指向其本身的引用。
self 是指向类本身,不指向任何已经实例化的对象。一般self使用来指向类中的静态变量或者常量。
parent 是指向父类的的应用,一般使用parent调用父类的构造函数或者方法。
- 《php与MySQL Web开发》-读书笔记一
- 《PHP 与 MySQL Web 开发》读书笔记 (一)
- PHP和MySQL Web开发读书笔记一
- 《php与MySQL Web开发》-读书笔记二
- PHP和MySQL Web开发读书笔记二
- 《PHP和MySQL Web开发》-- 读书笔记
- PHP和MySQL Web开发 读书笔记
- PHP与MySQL程序设计读书笔记(一)
- PHP与MySQL程序设计读书笔记(一)
- PHP与MySQL.WEB开发
- PHP和MySQL Web开发读书笔记---创建Web数据库
- PHP和MySQL Web开发读书笔记---web应用的安全
- PHP和MySQL Web开发读书笔记---面向对象的PHP
- PHP和MySQL Web开发读书笔记---使用mysql数据库
- PHP和MySQL Web开发读书笔记---MySQL高级编程
- PHP和MySQL Web开发读书笔记---数据的存储与检索
- PHP和MySQL Web开发读书笔记---与文件系统和服务器的交互
- PHP和MySQL Web开发(一)
- HDU1719 Friend【数学规律】
- Android apk动态加载机制的研究
- oracle 常见问题
- 施一公:优秀的科学家如何成长?
- 低头玩手机 不如抬头说英语
- 《php与MySQL Web开发》-读书笔记一
- Android apk动态加载机制的研究(二):资源加载和activity生命周期管理
- 生成树协议STP
- 逻辑斯蒂判别式(Logistic discrimination)
- Android Studio快捷键 习惯eclipse的快捷键的快来看看
- ios-day17-02(模仿“涂鸦”的小程序,并实现了清空、后退、保存功能)
- 介绍电子标签芯片的组成及功能
- java面试题及答案(基础题122道,代码题19道) (转)
- hdoj.1568 Fibonacci【水题】 2015/03/30