首页 > 后端开发 > 正文

php的self函数 在php中self与$this的分别

2025-01-24 12:57:39 | 我爱编程网

今天我爱编程网小编整理了php的self函数 在php中self与$this的分别相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

php的self函数 在php中self与$this的分别

php self::报错

$PHP_SELF表示当前的php文件这是php的几个系统的变量比如你的a.php文件在/www/g/f/那么如果你只是echo$PHP_SELF那么就会得到/www/g/f/a.php另外php这样系统函数还有不少比如$REMOTE_ADDR表示获取客户端的ip这些东西在phpinfo()中都可以看到注意这里这些字母都是大写的你说的下面那个问题是由于那个offset变量的值影响到了内部的sql语句打个比方说里面的代码是这样写的$sql="select*fromtable"if($offset)$sql=$sql."orderby".$offset;//如果offset有值那么就按照$offset的字段名排序当offset为0时用默认的排序这里比如你的表中有一个name字段你在超链接中可以这样下?offset=name但是当人为的输入了offset=asd的时候满足$offset不为空的条件所以真个sql就变成了select*fromtableorderbyasd因为asd字段在数据库中没有所以这个时候就会出现sql执行的错误提示当然这种提示会暴露出一些错误这方便在调试的时候检查代码但是也带来了一定的安全隐患所以php代码在执行的时候你可以选择两种处理错误的的方式一是:在函数前加上@符号可以完全屏蔽程序输出的错误二是:使用ordie比如很常见的在mysql的连接函数mysql_connect("localhost","root","")ordie("无法连接到数据库服务器")所以你上面的问题就是只要你找到那个mysql_fetch_row()改为@mysql_fetch_row()或者在后面加上ordie("所提供的查询结果不是一个有效的mysql返回结果")我也是一个php爱好者大家共同学习共同进步

php的self函数 在php中self与$this的分别

3分钟短文 | PHP new self 跟 new static 啥区别?

在PHP类创建过程中,self和static作为类本身的引用与类对象的引用使用上存在细微差别。尤其在类继承时,self可能带来意外结果,因此建议使用static作为类本身的引用。

self总是指向new关键字声明的类,而static在静态绑定中可指向层级结构中的任意类。例如,类B继承了类A的方法,对于get_self方法,返回类A本身。而static返回调用者的类,谁调用,static就指向谁。而self持续指向声明的类。

实例中,类A使用static静态方法,动态方法则需要函数get_class获取类名。方法create2使用new static(),返回类B本身。方法create1使用get_class($this)通过对象本身获取类名,返回类B本身。

区分self与静态引用的关键在于,self无需实例化即可使用其方法,而static需要实例化后作为对象的引用。在属性赋值时,只能使用非静态绑定的对象,self则能使用。

正确写法中,self引用类本身,调用类静态方法也完全可行。

在程序架构中,基类设计至关重要,需要详细规划和细分业务关系。熟练掌握self, static, $this这些高频关键字,对于编程实践尤为重要。

祝您编程愉快!

在php中self与$this的分别

我爱编程网(https://www.52biancheng.com)小编还为大家带来在php中self与$this的分别的相关内容。

1、意思上的区别

self代表类,$this代表对象(self是引用静态类的类名,而$this是引用非静态类的实例名)

2、用法上的区别

能用$this的地方一定使用self,能用self的地方不一定能用$this。

扩展资料:

Python中self用法详解 我爱编程网

1、以Student类为例,在Python中,定义类如下:

class Student(object):

pass

(Object)表示该类从哪个类继承下来的,Object类是所有类都会继承的类。

2、实例:定义好了类,就可以通过Student类创建出Student的实例,创建实例是通过类名+()实现:

student = Student()

3、由于类起到模板的作用,因此,可以在创建实例的时候,把我们认为必须绑定的属性强制填写进去。这里就用到Python当中的一个内置方法__init__方法,例如在Student类时,把name、score等属性绑上去:

class Student(object):

def __init__(self, name, score):

self.name = name

self.score = score

以上就是php的self函数 在php中self与$this的分别全部内容,更多相关信息,敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php的self函数 在php中self与$this的分别”相关推荐