標籤:tac 輸出 obj 自動 port 內容 usr https context
/********************************************************************* * PHP convet class to json data * 說明: * 突然想使用class自動轉換為json資料,這樣的代碼可擴充性會好一點, * 只需要修改class的屬性就能夠達到最終json資料輸出,不過有遇到class中 * 初始化class變數需要在建構函式中初始化的的問題。 * * 2017-8-11 深圳 龍華樟坑村 曾劍鋒 ********************************************************************/一、參考文檔: 1. getting Parse error: syntax error, unexpected T_NEW [closed] https://stackoverflow.com/questions/15806981/getting-parse-error-syntax-error-unexpected-t-new二、測試代碼: <?php class Uart { public $port = "/dev/ttyO0"; public $value = "OK"; } class Context { public $uart = new Uart();; public $version = "v0.0.1"; } $context = new Context; $context_json = json_encode($context); echo $context_json ?>三、報錯內容: Parse error: syntax error, unexpected ‘new‘ (T_NEW) in /usr/share/web/time.php on line 8四、最終代碼: <?php class Uart { public $port = "/dev/ttyO0"; public $value = "OK"; } class Context { public $uart; public $version = "v0.0.1"; public function __construct() { $this->uart = new Uart(); } } $context = new Context; $context_json = json_encode($context); echo $context_json ?>五、輸出結果: {"uart":{"port":"\/dev\/ttyO0","value":"OK"},"version":"v0.0.1"}六、原因: you must do initialize new objects in the __construct function;
PHP convet class to json data