<?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();
?>
594PHP 表单 PHP 表单
$_GET、$_POST 和 $_REQUEST 的区别?
$_GET 变量接受所有以 get 方式发送的请求,及浏览器地址栏中的 ? 之后的内容。
$_POST 变量接受所有以 post 方式发送的请求,例如,一个 form 以 method=post 提交,提交后 php 会处理 post 过来的全部变量。
$_REQUEST 支持两种方式发送过来的请求,即 post 和 get 它都可以接受,显示不显示要看传递方法,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 { } ?>592PHP 魔术常量
以下代码可以获取当前执行的 PHP 文件名:
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(); ?>