目的
Jason-schemaをcomposerなしで利用したいです。
WordPressでcomposerを使うことができない(そのスキルがない)という前提で宜しくお願い致します。
状況
justinrainbow/Jason-schemaを利用するため、以下のページからzipをDLしました。
https://github.com/justinrainbow/json-schema.git
そして使い方として以下のページを見ると「Validator.php」を読めばいいことがわかりました。
https://blog.masu-mi.me/post/2014/10/03/test_json_schema/
しかしこれはcomposerが使える状況においてだと思っています。
今回は使えないので、ファイルをすべて自分でrequireしないといけません。
そこで「Validator.php」でuseしているものをさかのぼり、次のファイルたちが必要なのではないかと考えました。
これらのファイルたちを以下のようにrequireしました。
使い方のページにあった「Validator.php」を読むために、useされているファイルを逆から読むべきだと考えたためです。
php
1define( "DIR_TEMPLATE", get_template_directory() ); 2 3// use がないものを最初に読む 4require_once DIR_TEMPLATE . '/plugins/json-schema-master/src/JsonSchema/Exception/InvalidArgumentException.php'; 5require_once DIR_TEMPLATE . '/plugins/json-schema-master/src/JsonSchema/Exception/ValidationException.php'; 6 7// 水色を読む 8require_once DIR_TEMPLATE . '/plugins/json-schema-master/src/JsonSchema/Entity/JsonPointer.php'; 9 10// 緑を読む 11require_once DIR_TEMPLATE . '/plugins/json-schema-master/src/JsonSchema/ConstraintError.php'; 12 13// ピンクを読む 14require_once DIR_TEMPLATE . '/plugins/json-schema-master/src/JsonSchema/Constraints/Constraint.php'; 15 16// 黄緑を読む 17require_once DIR_TEMPLATE . '/plugins/json-schema-master/src/JsonSchema/Constraints/BaseConstraint.php'; 18 19// Validator.phpを読む 20require_once DIR_TEMPLATE . '/plugins/json-schema-master/src/JsonSchema/Validator.php';
こう考えて実行したのですが、以下のエラーになってしまいました。
[12-Jul-2020 01:42:17 UTC] PHP Fatal error: Interface 'JsonSchema\Exception\ExceptionInterface' not found in /export/user/b/zjp_56u01y/live_62u457/var/wordpress/wp-content/themes/test/plugins/json-schema-master/src/JsonSchema/Exception/InvalidArgumentException.php on line 15
さっそくInvalidArgumentException.phpの15行目を見ると以下のようにありますが、この意味まではわかりません。
php
1class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
さきほどのrequireの順番を変えたりもしたのですができず、そもそも考え方が間違っているのではないかと不安になりました。
ここまで以下①~⑤の考えに基づいてきたのですが、どこかが間違っているためにできないのだと思います。正しくはどうすべきかなどアドバイスを頂きたいです。
➀最終的に「Validator.php」が読めればOK
➁composerが使えないときは、「Validator.php」を読むために必要なファイルがある
➂それは「Validator.php」のuseをさかのぼった上図の7個だけである
④上記コードのrequireのやり方はあっている
⑤他に必要な処理はない
どうぞよろしくお願い致します。