2016-11-19 77 views
1

當我嘗試這樣做:我可以在我的課堂中將碳日期作爲一個常數嗎?

class { 

const THIS_YEAR_START = Carbon::now()->startOfYear(); 

} 

我得到這個錯誤:

syntax error, unexpected '(', expecting ',' or ';' 
+0

不!從[PHP文檔](http://uk1.php.net/manual/en/language.oop5.constants.php)引用:該值必須是常量表達式,而不是(例如)變量,屬性,或者函數調用。' –

回答

0

這裏的問題是PHP的常量應該是一個常量表達式。

假設您不在共享主機上並安裝了作曲家。 在終端

composer require nesbot/carbon 

運行做這樣的事情,而不是:

<?php 
namespace Carbon; 
require './vendor/autoload.php'; 


class myClass { 

    public $year; 

    public function __construct(){ 

      $this->year = Carbon::now()->startOfYear(); 

      } 
    public function getYear(){ 

      return $this->year; 

      } 
    } 



$i = new myClass; 

print $i->getYear(); 


?> 

我寫這將讓你將來有需要時添加參數的方式。

+0

這雖然是正確的,但並不是真實的答案 –

+0

@RaheelKhan我在回答的第一行寫道他爲什麼得到錯誤。你可以參考php文檔http://php.net/manual/en/language.oop5.constants.php – PHPGrandMaster

相關問題