2016-10-04 158 views
0

https://github.com/hasbridge/php-json-schema未找到類'JsonValidator'

獲取錯誤未找到類'JsonValidator'。 我確實在git文件夾中安裝了composer.json。 我確實把我的json模式,json數據文件放在src/Json中,並創建了一個如git中提到的驗證的php文件。 獲取錯誤類未找到類'JsonValidator'。

+1

如果它沒有像預期的那樣工作,或者他們的文檔不清楚,你有沒有想過在他們的Github頁面上添加一個問題?至少你需要向我們展示你的代碼,以及你如何使用這個庫。 –

+1

我們需要看到你想要調用這個類的代碼。它是如何安裝的(通過作曲家,直接下載等)。另外,如果您查看該類,則不會將其稱爲「JsonValidator」。它被稱爲「Validator」,位於名稱空間「Json」中,因此應該稱爲「Json \ Validator」。 –

回答

0

在他們的示例中,他們創建了JsonValidator對象。

這不同於該類的實際名稱空間,即Json\Validator

嘗試將use Json\Validator as JsonValidator放在文件的頂部,以便您可以像文檔一樣引用該類。

我想擴大自己的文檔在:

$someJson = '{"foo":"bar"}'; 
$jsonObject = json_decode($someJson); 

$validator = new JsonValidator('/path/to/yourschema.json'); 

$validator->validate($jsonObject); 

<?php 

namespace Your\Domain; 

use Json\Validator as JsonValidator; 

require_once('./vendor/autoload.php'); 

$someJson = '{"foo": "bar"}'; 
$jsonObject = json_decode($someJson); 
$validator = new JsonValidator('/path/to/yourschema.json'); 

$validator->validate($jsonObject); 

或者,你可以爲new Json\Validator('/path/to/yourschema.json')替代new JsonValidator('/path/to/yourschema.json')

編輯:順便說一句 - 你可能會發現在使用這個庫時,json-schema.org的示例模式很有用。

下面是該鏈接的主要原因之一:

{ 
    "title": "Example Schema", 
    "type": "object", 
    "properties": { 
     "firstName": { 
      "type": "string" 
     }, 
     "lastName": { 
      "type": "string" 
     }, 
     "age": { 
      "description": "Age in years", 
      "type": "integer", 
      "minimum": 0 
     } 
    }, 
    "required": ["firstName", "lastName"] 
} 

將該文件保存在項目中的某處,並參考代替/path/to/yourschema.json

+0

如果我運行代碼,我正在變空白頁。它是正確的數據和模式的輸出? – gokul

+0

嘿@GokulnathSekar - 當你運行代碼時,你期望看到什麼? (這只是一個例子。) '/ path/to/yourschema.json'可能不存在於你的系統上,是嗎? 此外,它聽起來像你可能: 1 - 如果你看到一個空白頁面有錯誤報告。 2 - 根本沒有看到腳本的輸出,這很好 - 它似乎不是通過確認輸入有效,而是通過在無效時拋出錯誤來起作用。 https://github.com/hasbridge/php-json-schema/blob/master/src/Json/Validator.php#L53 我建議看看你的錯誤日誌! –

+0

謝謝,是的,我只是想在json變得有效時繼續下一個操作,我只是想要一個輸出來確認json的有效性,這樣我就可以將它作爲確認來饋送,以便程序移動到更多的代碼塊 – gokul