【php静态方法和非静态方法分别什么时候使用?】教程文章相关的互联网学习教程文章

php 获取静态方法调用的类名【代码】

1 方法一:2class foo {3staticpublicfunction test() {4var_dump(get_called_class());5 }6}7 8class bar extends foo {9} 1011 foo::test(); 12 bar::test(); 1314 输出: 1516string(3) "foo" 17string(3) "bar" 1819 方法二: 20class Bar { 21publicstaticfunction test() { 22var_dump(static::class); 23 } 24} 2526class Foo extends Bar { 2728} 2930 Foo::test(); 31 Bar::test(); 3233 Output: 3435string(3) "Foo" ...

PHP学习笔记二十二【静态方法二】【代码】

<?PHPclass Student{publicstatic$fee;public$name;//构造函数function __construct($name){$this->name=$name;}//入学,静态方法无法操作非静态变量,因为静态方法(变量)是属于类,而非静态的成员变量时属于对象的staticfunction enterSchool($ifee){self::$fee+=$ifee;}}$student1=new Student("张三");Student::enterSchool(100);//$student1->enterSchool(100);$student2=new Student("李四");Student::enterSchool(100);ech...

php 普通方法和静态方法

<?phpheader(‘Content-Type: text/html; charset=utf-8‘);class Student { public static function getStudentCount() { var_dump($this); return 42; } public function getName() { var_dump($this); return ‘神雕侠侣‘; }}echo Student::getStudentCount(); //输出:NULL 42 /// var_dump($this)没有对象标识符echo ‘<hr>‘;echo Student::getName(); //输出:NULL 神雕侠侣 /// var_dump($this)没有对象标识符echo...

PHP 静态变量和静态方法【代码】

PHP静态变量静态变量(也叫类变量)静态的变量的基本用法1.在类中定义静态变量形式:[访问修饰符] static $变量名;例; //public static $nums=0;2.如何访问静态变量如果在类中访问 有两种方法 self::$静态变量名 , 类名::$静态变量名如果在类外访问: 有一种方法 类名::$静态变量名例程:提出一个问题:说,有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决[ph...

php面向对象中static静态属性和静态方法的调用【代码】

关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了。静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。实例:header("content-type:text/html;charset=utf-8"); class Human{static public $name = "小妹";public $height = 180;static public function tell(){echo self::$name;//静态方法调用静态属性,使用sel...

PHP命名空间里的静态方法能不能动态调用?

File1:// file1.php namespace Common\Model;class ArticleModel {static function save($id=0) {die('xxx');} } File2:// file2 namespace Admin\Controller; include('./file1.php'); $model = 'ArticleModel'; $call = "\\Common\\Model\\$model::save"; $call(123123); 这种方法 我试了,不能调用。 是不是静态方法 不支持动态调用? 还是有别的方式可以调用?回复内容:File1:// file1.php namespace Common\Model;class Arti...

php中的静态方法和非静态方法的区别是什么?【图】

区别:1、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;2、静态方法在定义类的时候就已经装载分配好了,非静态方法在定义时没有占用内存,只有实例化为对象时才会被分配内存。推荐:《PHP视频教程》php中的静态方法和非静态方法的区别1、静态方法属于类所有,类实例化前即可使用。也就是不需要new一个对象就可以使用该对象的方法。比如object::fun1()这样的格式;2、非静态方法可以访问类中的任何成员,静态...

php在类中使用静态方法有几种方式【代码】【图】

php在类中使用静态方法的方式:1、使用self,代码为【self::test();】;2、使用类名,代码为【public function test1()a::test()】;3、使用static,代码为【static::test()】。php在类中使用静态方法的方式:1、使用self,代码如下<?php class a { private static function test() { echo test; } public function test1() { self::test(); } } $ab = new a(); $ab->test1();//结果 test2、使用类名,代码如下<?php...

php中静态方法怎么调用非静态方法【代码】【图】

php中静态方法调用非静态方法的办法:首先需要实例化对象;然后再调用对象中的非静态方法即可。非静态方法调用静态方法的办法:可以使用self关键字或者【类名::方法名】形式调用。静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法。非静态方法调用静态方法: 可以self 或者 类名加::的形式调用。(视频教程推荐:php视频教程)举例:<?php class A {public function noneStaticFun() {echo __CLAS...

php静态方法如何调用非静态变量【代码】【图】

php中静态方法调用非静态变量的方法:首先在类中静态方法中实例化对象;然后再调用类中的方法,代码为【public function testCallStaticFun(){echo "call static function}】。php中静态方法调用非静态变量的方法:静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法非静态方法调用静态方法: 可以self 或者 类名加::的形式调用如下面的案例:<?php class A{public function noneStaticFun(){echo __...

php中静态方法如何继承【代码】【图】

php中静态方法继承的方法:使用override函数进行继承,代码为【function write(){echo I can be overriden!;}static function no_write()】。php中静态方法继承的方法:之前一直对子类能否对静态函数进行override,故写了段测试代码,代码如下:<?php Class A { var $a=I/m A; function write() { echo I can be overriden!<br />; } static function no_write() { echo Can I be overriden?<br />; }}Class B extends A { functio...

php访问静态方法有哪些方式【代码】【图】

php访问静态方法的方式:1、使用self,代码为【self::test();】;2、使用类名,代码为【a::test()】;3、使用static,代码为【public function test1(){static::test()}】。php访问静态方法的方式:1:使用self,代码如下<?php class a {private static function test() {echo test;}public function test1() {self::test();} } $ab = new a(); $ab->test1();//结果 test2:使用类名,代码如下<?php class a {private static funct...

php中的抽象类和静态方法是什么【代码】【图】

php中的抽象类是指:在class前加了abstract关键字且存在抽象方法的类,它不能被直接实例化;静态方法是指:被static关键字修饰的方法,静态方法用于操作静态属性。抽象类抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。(推荐教程:php视频教程)抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类...

php中子类如何调用父类的静态方法【代码】【图】

php中子类调用父类的静态方法的方法:【parent::method()】或【self::method()】。如果要在子类外部调用,则使用【子类实例->method()】。子类内部访问父类静态成员属性或方法(推荐教程:php视频教程)parent::method()/self::method()注意:$this->staticProperty(父类的静态属性不可以通过$this(子类实例)来访问,会报错::PHP Strict Standards: Accessing static property Person::$country as non static in,PHP Notice: Un...

php如何判断是否为静态方法【代码】【图】

【相关学习推荐:php图文教程】php判断是否为静态方法的方法:1、新建文件,创建一个类,并写一个静态方法,一个普通方法:<?php class Test {public function wzl(){echo 我是一个普通方法<br>;}public static function cwh(){echo 我是一个静态方法<br>;}} $class = new Test(); $class->wzl(); $class::cwh();2、使用浏览器访问文件,查看结果:3、如果我们使用静态方法的访问形式访问普通方法$class = new Test(); $class::wzl...

静态方法 - 相关标签