php中::是什么意思?
一、php中的::是调用类中的静态方法或者常量,属性的符号。PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。中文名:“超文本预处理器”是一种通用开源脚本语言。
二、PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
三、PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多,PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。被广泛的运用。
例如
1、class aaa{
static function ar(){
}
function br(){}
}
2、使用非静态方法,要先创建实例
$obj = new aaa();
$obj -> br();
3、使用静态方法,无需创建实例,直接使用类名
aaa::ar();
扩展资料:
1、PHP作为网络开发的强大语言之一,现在应用非常广泛,具有开放源代码,跨平台性强,开发快捷,效率高,面向对象,并且易于上手,专业专注等诸多优点。
2、各种PHP开发框架也让程序开发变的简单有效。
3、php框架对很多新手而言可能会觉得很难攀越,其实不然 ,只要知道一个框架的流程,明白原理了,基本类似框架都可以看懂,php框架真正的发展要从php5开始了,其实php4时代就有一些框架,但是因为框架并没有给大家带来多方便而觉得很复杂,速度没有纯php好,所以一直到了php5才有大的发展,php5的面向对象模型的修改对框架的发展起了很大的作用。
参考链接:PHP框架_百度百科
PHP范围解析操作符 (::)
范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。
当在类定义之外引用到这些项目时,要使用类名。
自 PHP 5.3.0 起,可以通过变量来引用类,该变量的值不能是关键字(如 self,parent 和 static)。
把 Paamayim Nekudotayim 选作双冒号操作符的名字似乎有些奇怪。然而,这是 Zend 开发小组在写 Zend Engine 0.5(被用于 PHP 3 中)时所作出的决定。事实上这个词在希伯莱文就是双冒号的意思。
Example #1 在类的外部使用 :: 操作符
<?php
class MyClass {
const CONST_VALUE = 'A constant value';
}
$classname = 'MyClass';
echo $classname::CONST_VALUE; // 自 PHP 5.3.0 起
echo MyClass::CONST_VALUE;
?>
self,parent 和 static 这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。
Example #2 在类定义内部使用 ::
<?php
class OtherClass extends MyClass
{
public static $my_static = 'static var';
public static function doubleColon() {
echo parent::CONST_VALUE . "\n";
echo self::$my_static . "\n";
}
}
$classname = 'OtherClass';
echo $classname::doubleColon(); // 自 PHP 5.3.0 起
OtherClass::doubleColon();
?>
当一个子类覆盖其父类中的方法时,PHP 不会调用父类中已被覆盖的方法。是否调用父类的方法取决于子类。这种机制也作用于构造函数和析构函数,重载以及魔术方法。
Example #3 调用父类的方法
<?php
class MyClass
{
protected function myFunc() {
echo "MyClass::myFunc()\n";
}
}
class OtherClass extends MyClass
{
// 覆盖了父类的定义
public function myFunc()
{
// 但还是可以调用父类中被覆盖的方法
parent::myFunc();
echo "OtherClass::myFunc()\n";
}
}
$class = new OtherClass();
$class->myFunc();
?>
PHP中的‘::’是一种内置的语法解析符号,中文名叫做“范围解析操作符”。:: 符号是用来帮助PHP中的语法结构“类”来实现对其成员的访问,通常我们只允许访问静态成员,具体代码如下:
① 类正常访问静态成员
class Heima{
//静态属性
public static $heima = '黑马';
//静态方法
public static function getHeima(){
//内部使用::
echo self::$heima; //self代表Heima类,同Heima::$heima
}
}
//外部访问
echo Heima::$heima; //访问静态属性,输出黑马
Heima::getHeima(); //访问静态方法,输出黑马
② 类访问普通方法(系统不建议,有风险,风险原因网页链接)
class Heima{
//普通方法
public function show(){
echo __CLASS__; //输出当前所属类类名
}
}
//正常应该是对象访问 $h = new Heima();$h->show();
//静态访问
Heima::show(); //系统会提示点什么,但是可以访问
//其实对象也可以利用::符号访问
$h = new Heima();
$h::show(); //效果也能达成,但是我们通常不建议这么使用
例如
class Test{
public static $test = 1;
public static function test(){
}
}
可以不用实例化对象直接使用 Test::$test 来取得$test属性的值
静态方法调用也同理Test::test(); 直接调用静态方法test
2011-02-28
也就是不需要实例化对象,直接通过类名对类中的方法进行引用
参考资料: http://blog.sina.com.cn/s/blog_68f8522f0100mg7z.html