• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php一个类的怪异问题??

php 搞代码 4年前 (2022-01-25) 17次浏览 已收录 0个评论
文章目录[隐藏]

php定义一个类。为啥下面第一种情况就没问题,第二种情况就报错??

<code><?phpclass xyz{  private static $abc=array(???????????????????????);}//正常class xyz{  $xxx=array(???????????????????????);  private static $abc=$xxx;}//500 错误</code>

本文来源gaodai#ma#com搞*!代#%^码$网!搞代gaodaima码

回复内容:

php定义一个类。为啥下面第一种情况就没问题,第二种情况就报错??

<code><?phpclass xyz{  private static $abc=array(???????????????????????);}//正常class xyz{  $xxx=array(???????????????????????);  private static $abc=$xxx;}//500 错误</code>

<code>class a {    $x = array();//这种写法虽然支持,但是也不推荐了,应该写成 public $x = array();    private static $y = $x;//这是很明显的语法错误,第一此处不能用变量,第二访问属性应该是$this->x}</code>

类里面的静态变量和常量声明都不能用变量,属于语法错误。我想是因为在对象没有实例的时候变量都还没有被分配,所以静态变量和常量都无法获得有效的值。
建议:
1- 修改php.ini,把错误信息显示出来,这样你就不会看到干巴巴的500错误了,而是PHP提示的错误原因,这样有助于解决问题
2- 使用比较专业的PHP开发IDE,如PHPStorm或者ZendStudio(我在用这个),这种浅显的语法错误会被IDE直接标红。

建议你好好学学PHP语法,写个不合语法的错误代码出来,出现什么怪异的问题一点都不怪异。

类里面包含的东西:static的是关于类的,即静态方法和属性;其它的是属于对象的(类的实例)方法和属性

静态的当然不能直接调用属于对象的东西(对象都还没存在呢!!!)

这也算面向对象的基本概念了吧…

基础没有学好直接写代码,只能说虐待了自己的小命


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php一个类的怪异问题??

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址