问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php static 方法有什么好处

发布网友 发布时间:2022-04-06 01:51

我来回答

3个回答

热心网友 时间:2022-04-06 03:20

1、static方法就相当于普通的方法一模一样,但是给方法分了个类。语义化代码。

2、实例化class时不会重新将static方法声明第二遍

比如:

class People{
    private $name;
    public __construct($name = ""){
        $this->name = $name;
    }
    //此方法就不适合用static方法,因为他要使用实例的成员变量name
    public function sayMyName(){
        echo "My name is ".$this->name;
    }
    //类似这种方法的就最好写成static方法
    public static function isMe($obj){
        return get_class($obj) == "People" ? true : false;
    }
}

$me = new People("s524797336");
$me->sayMyName();//输出s524797336
var_mp(People::isMe($me));//输出bool true
//其实如果直接有个方法如下,他的作用跟static方法作用其实是一样的
function isPeople($obj){
    return get_class($obj) == "People" ? true : false;
}
var_mp(isPeople($me));//输出bool true

总而言之,他就是将普通方法封装到了类里面,就像上面,放到people类里面就是isMe,在公用的里面就是isPeople,虽然完成的事情是一样的,但是意义不同


你可以把static方法当成某个class中的共用方法

热心网友 时间:2022-04-06 04:38

静态方法不需要所在类被实例化就可以直接使用。

静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。

静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。

热心网友 时间:2022-04-06 06:13

<?php
myclass class{
static function funone(){
echo "hello";
}
function funtwo(){
echo "hello";
}

}
//调用: funone
myclass :: funone();
//如果要调用funtwo 要先实例化
$mod = new myclass();

$mod->funtwo();

?>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 php中static 静态变量和普通变量的区别 php类中有静态方法和非静态的,我想问的是,什么时候用静态方法,静态方法和普通方法有什么不同? 如何运用php函数mkdir创建多级目录 PHP 删除目录下的文件 php 删除多个文件 php实现删除空目录的方法 如何删除多级目录 PHP怎样用迭代法删除级联目录? PHP删除目录及目录下所有文件的方法详解 PHP关于删除文件夹下面的所有子目录(包括文件夹) php 的ftp_rmdir如何删除多层目录 php怎样删除目录及其目录下的所有文件 PHP删除指定目录中的所有目录及文件的方法 如何用php创建与删除多级目录函数 javascript 从Date中获取星期几 php的date获取的是系统时间还是客户端时间 php date()函数得到当前第几周,值是从0开始还是1 PHP里如何跟据日期获取本日是本年的第几周? php 知道年月日怎么获得星期和节日 如何用 PHP 搞定中文字符编码问题 php中static 静态变量和普通变量的区别是什么呢? php:static静态变量和普通变量的区别分析 php静态方法与非静态方法在性能上有什么区别 什么时候该使用PHP的static属性和方法 php 一般什么时候用静态方法 关于PHP静态方法调用和实例化类调用的区别 PHP 静态方法调用真的会比普通类方法快 4 倍吗 php什么时候用静态方法 php system和exec的区别 php执行函数 php中popen,exec,system,passthru到底有多大区别 嵌入式里面的system,exec是什么?_? php中的system函数和exec函数怎么用? 在php中使用system()和exec()函数去处理windows下一个R脚本,为什么一直不行? 我要在php中调用system或者exec执行一个程序 PHP怎么运行EXEC文件? php(exec,system)外部程序执行问题?!! PHP中exec函数和shell_exec函数的区别 PHP在linux下执行exec和system函数,返回值为126代表什么意思? php system函数执行系统命令与直接在终端中执行命令有什么区别