PHP 魔术方法__set() __get() 方法详解

__set() is run when writing data to inaccessible properties.
__get() is utilized for reading data from inaccessible properties.

究竟用中文怎么翻译呢? inaccessible :n. 难达到;难接近;无法理解。
有代码有真相:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php  
error_reporting(E_ALL);
class stu{
private $a;
private $b = 0;
public $c;
public $d = 0;
//这里的 private 可以用 protected public 替代
private function __get($name) {
return 123;
}
//这里的 private 也可以用 protected public 替代
private function __set($name, $value) {
echo "This is set function";
}
}
$s = new stu();
var_dump($s->a); //output: 123
var_dump($s->b); //output: 123
var_dump($s->c); //output: null
var_dump($s->d); //output: 0
var_dump($s->e); //output: 123
$s->a = 3; //output: This is set function
$s->c = 3; //no output
$s->f = 3; //output: This is set function
?>

Read More

PHP超级全局变量总结

PHP有9个预定义变量数组,分别总结如下:

1、$_SERVER

$_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息。根据服务器不同,$_SERVER中的变量值和变量个数会有差别,不过一般都可以找到CGI1.1规范中定义的变量。其中包括:

$_SERVER[ ‘HTTP_REFERER’ ] ; 引导用户到达当前位置的页面的URL ;

$_SERVER[ ‘REMOTE_ADDR‘ ] ; 客户IP地址 ;

$_SERVER[ ’REQUEST_URI‘ ] ; URL的路径部分。如果URL是http://www.example.com/blog/apache/index.html ,那么URI就是/blog/apache/index.html 。

$_SERVER[ ‘HTTP_USER_AGENT’ ] ; 客户的用户代理,一般会提供操作系统和浏览器的有关信息。

Read More

利用Jquery给当前页或者跳转后页面的导航栏添加选中后样式

当鼠标选中页面导航栏的某一栏目后,如何给选中栏目添加特殊样式,一直没怎么搞清楚,今天学习了一下,并做个总结。

这边有两种情况,一种是直接给当前页面添加特殊样式,当网页刷新或者跳转到下一页后,样式消失;另一种情况是即使刷新页面后样式仍然有效。

直接上代码:

第一种情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript" src="templets/js/jquery.js"></script>  
<script type="text/javascript">
$(document).ready(function(){
$(".nav a").each(function(){
$(this).click(function(){
$(".nav .hover").removeClass("hover");
$(this).addClass("hover");
return false;//防止页面跳转
});
});
});
</script>

<div class="nav">
<ul>
<li><a href="1.html" class="hover"> 首页</a></li>
<li><a href="2.html"> 个人资料</a></li>
<li><a href="3.html"> 我的好友</a></li>
<li><a href="4.html"> 消息管理</a></li>
</ul>
</div>

Read More

php理解变量的作用域

作用域是指在一个脚本中某个变量可以使用或可见的范围,php具有6项基本的作用域规则。

1.内置超级全局变量可以在脚本的任何地方使用和可见。

2.常量,一旦被声明,将可以在全局可见;也就是说,它们在函数内外都可以使用。

3.在一个脚本中声明的全局变量在整个脚本中是可见的,但在函数内部不行。

4.函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致。

5.在函数内部创建并声明为静态的变量无法在函数外部可见,但是可以在函数的多次执行过程中保持该值。

6.在函数内部创建的变量对函数来说是本地的,而当函数终止时,该变量也就不存在了。

$_GET和$_POST数组以及一些其他特殊变量都具有各自的作用域规则。这些被称作超级全局变量,它们可以在任何地方使用和可见,包括内部和外部函数。