PHP 教程 在线

594PHP 表单 PHP 表单

$_GET、$_POST 和 $_REQUEST 的区别?

$_GET 变量接受所有以 get 方式发送的请求,及浏览器地址栏中的 ? 之后的内容。

$_POST 变量接受所有以 post 方式发送的请求,例如,一个 form 以 method=post 提交,提交后 php 会处理 post 过来的全部变量。

$_REQUEST 支持两种方式发送过来的请求,即 postget 它都可以接受,显示不显示要看传递方法,get 会显示在 url 中(有字符数限制),post 不会在 url 中显示,可以传递任意多的数据(只要服务器支持)。

593PHP 命名空间

可以把非限定名称类比为文件名(例如 comment.php)、.限定名称类比为相对路径名(例如 ./article/comment.php)、完全限定名称类比为绝对路径名(例如 /blog/article/comment.php),这样可能会更容易理解。

再添一例:

<?php 
//创建空间Blog
namespace Blog;
class Comment { }
//非限定名称,表示当前Blog空间
//这个调用将被解析成 Blog\Comment();
$blog_comment = new Comment();
//限定名称,表示相对于Blog空间
//这个调用将被解析成 Blog\Article\Comment();
$article_comment = new Article\Comment(); //类前面没有反斜杆\
//完全限定名称,表示绝对于Blog空间
//这个调用将被解析成 Blog\Comment();
$article_comment = new \Blog\Comment(); //类前面有反斜杆\
//完全限定名称,表示绝对于Blog空间
//这个调用将被解析成 Blog\Article\Comment();
$article_comment = new \Blog\Article\Comment(); //类前面有反斜杆\

//创建Blog的子空间Article
namespace Blog\Article;
class Comment { }
?>

更多内容可参考:PHP命名空间(Namespace)的使用详解

592PHP 魔术常量

以下代码可以获取当前执行的 PHP 文件名:

<?php
echo substr(__FILE__,strlen(__DIR__)-strlen(__FILE__)+1);
?>

591PHP 魔术常量

多个 trait 的情况:

通过逗号分隔,在 use 声明列出多个 trait,可以都插入到一个类中。示例代码如下:

<?php
trait Hello {
    public function sayHello() { 
        echo 'Hello ';    
    }
}
trait World {    
    public function sayWorld() {     
        echo 'World';  
    }
}
class MyHelloWorld { 
    use Hello, World;  
    public function sayExclamationMark() {   
        echo '!'; 
    }
}
$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>

最终输出:Hello World!

590PHP 函数

关于函数的定义和使用:

<?php
//计算两个数的和
function add($a,$b){
    $count = $a + $b;
    return $count;
}

//计算小明的数学成绩和语文成绩的和(这个也可以使用在从数据库中读取数据并且做加运算)
function count_score(){
    $m = 96;//数学成绩
    $y = 99;//语文成绩
    $sum = add($m,$y);
    echo "小明的总成绩是".$sum;
}
count_score();
?>