博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php的魔术常量trait,PHP基础-函数和魔术常量
阅读量:6485 次
发布时间:2019-06-23

本文共 1624 字,大约阅读时间需要 5 分钟。

函数语法

默认函数参数为必传项,若想选填则在参数后跟false

function 函数名(参数1,参数2=false)

函数体;

return 返回值;

?>

无参数示例

function myTest() //函数名

{

$x = "测试函数"; //函数体

return $x; //函数返回值

}

$a = myTest(); //实例化函数

echo $a //输出函数,默认输出返回值

?>

带参数示例

function myTest($w,$x=false) //函数名

{

$x = "测试函数"; //函数体

return $w . $x; //函数返回值(字符串拼接)

}

$a = myTest("示例:"); //实例化函数

echo $a //输出函数,默认输出返回值

?>

匿名函数示例

$c = function ($a)

{

$b = $a + 100;

return $b;

};

print_r($c(2));

?>

魔术常量

PHP 向它运行的任何脚本提供了大量的预定义常量。

不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

名称

释义

__LINE__

文件中的当前行号

__FILE__

文件的完整路径和文件名

__DIR__

文件所在的目录

__FUNCTION__

函数名称(PHP 4.3.0 新加)

__CLASS__

类的名称(PHP 4.3.0 新加)

__TRAIT__

Trait 的名字(PHP5.4新加)自PHP5.4起,PHP 实现了代码复用的一个方法,称为 traits。

__METHOD__

类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)

__NAMESPACE__

当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

示例

在函数中使用魔术常量

__LINE__

echo '这是第 " ' . __LINE__ . ' " 行';

?>

__FILE__

echo '该文件位于 " ' . __FILE__ . ' " ';

?>

__DIR__

echo '该文件位于 " ' . __DIR__ . ' " ';

?>

__FUNCTION__

function test() {

echo '函数名为:' . __FUNCTION__ ;

}

test();

?>

__CLASS__

class test {

function _print() {

echo '类名为:' . __CLASS__ . "

";

echo '函数名为:' . __FUNCTION__ ;

}

}

$t = new test();

$t->_print();

?>

__TRAIT__

class Base {

public function sayHello() {

echo 'Hello ';

}

}

trait SayWorld {

public function sayHello() {

parent::sayHello();

echo 'World!';

}

}

class MyHelloWorld extends Base {

use SayWorld;

}

$o = new MyHelloWorld();

$o->sayHello();

?>

__METHOD__

function test() {

echo '函数名为:' . __METHOD__ ;

}

test();

?>

__NAMESPACE__

namespace MyProject;

echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"

?>

转载地址:http://rmnuo.baihongyu.com/

你可能感兴趣的文章
如何使用phpredis连接Redis的方法
查看>>
消息队列
查看>>
数据库事务的四大特性以及事务的隔离级别
查看>>
SpringMVC自定义视图
查看>>
有理想的程序员必须知道的15件事
查看>>
IE8兼容
查看>>
使用Socket类接收和发送数据
查看>>
2015年普及租第三题求和40分解法
查看>>
golang interface
查看>>
使用 python 操作 mongodb 常用的操作
查看>>
高并发 多线程批量ping工具 nbping简介和使用
查看>>
memcachedb单线程访问bdb的阻塞问题
查看>>
django第三天
查看>>
jTopo——js库
查看>>
程序员该不该主动提加薪?
查看>>
VM-ware使用经验总结
查看>>
Borrowers
查看>>
界面的功能特色---菜单栏和工具栏
查看>>
谈线性变换
查看>>
【数论】【莫比乌斯反演】【线性筛】bzoj2301 [HAOI2011]Problem b
查看>>