Pages

2019年12月26日木曜日

[PHP] Amazon MWS API Feed のXMLをXSDファイルを利用してバリデート(検証)する

gontoraさんによる写真ACからの写真

Amazon MWS API を利用して出品する際にXMLで一覧を生成するのだが、その生成したXMLが正しいかを判別するために Amazon MWS API のドキュメントサイトで配布されている XSD を利用した。

http://docs.developer.amazonservices.com/ja_JP/feeds/Feeds_FeedType.html

注: XMLフィードの作成方法によっては、商品情報フィードではなく、アイテムフィードスキーマを使用するよう、出品者に求められます。

ほんまAmazon紛らわしいな。。
こんな紛らわしいのに開発環境提供してくれないし。。。

Item フィード
https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_1_9/Item.xsd

Product フィード
https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_1_9/Product.xsd

XSDを利用してのXML検証方法


$xml = new DOMDocument(); 
libxml_use_internal_errors(true);

$xml->load('./sample.xml');
 
if ($xml->schemaValidate('./validate.xsd')) { 
   echo "Success \n";
} 
else { 
    echo "Error \n"; 
    $errors = libxml_get_errors();
    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }
    libxml_clear_errors();
} 

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }
}

2019年11月20日水曜日

composer 削除方法

$ composer remove --no-update phpoffice/phpexcel
$ composer update --dry-run

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 0 updates, 1 removal
  - Uninstalling phpoffice/phpexcel (1.8.2)

- Uninstalling *** をアップデートで削除

$ composer update phpoffice/phpexcel

複数該当する場合

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 0 updates, 1 removal
  - Uninstalling phpoffice/phpexcel (1.8.2)
  - Uninstalling phpoffice/hoge (1.8.2)
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.

$ composer update phpoffice/phpexcel phpoffice/hoge

2019年7月25日木曜日

MySQL Workbench 8.0.17 では MySQL 5.1.73 に接続できない



MySQL Workbench 8.0.17
https://dev.mysql.com/downloads/workbench/8.0.html

MySQL Workbench 8.0.17 にアップデートしてさあ繋げようと思ったら繋がらない。。


「Bad handshake」やってさ。

で、何でやろって調べてたらこんな記事発見

https://www.urtech.ca/2019/01/solved-bad-handshake-mysql-workbench-failed-to-connect-to-sql/

どうやら、MySQL Workbench 8.0.17 では MySQL 5.1.73 に接続できないみたい。

で、解決策は古いバージョンを使いなさいと。

MySQL Workbench 6.3.10
https://dev.mysql.com/downloads/workbench/6.3.html

で入れたら動いたとさ。

Ver 期限
5.7 2020年10月
5.6 2018年2月
5.5 2015年12月
5.1 2013年12月
5.0 2011年12月

サポートも切れてるし仕方ないね。。

2019年7月11日木曜日

[PhpStorm] 2019にバージョンアップしたらフォントが小さくて見にくくなった。。特にドットが酷い。。

自分はできるだけツールはデフォルトの設定で使うようにしている。

理由は環境の構築の時に設定が大変だから。。
頑張って設定してもバージョンアップしたらその設定ができるとは限らないから。。
作者がこのツールではこの設定が良いと思っているものがデフォルトだろうから。。

と、まー理由はどうでもいいけどライセンス更新と合わせて phpstorm 2019にアップデート。

2018の時は特にカラースキーマの変更だけで使えたんだけど、phpstorm 2019 にアップデートして明らかにフォント小さくなった。。

.(ドット) と [半角スペース] の区別ができない。。

それでも我慢した。。
もう無理。。。

って事で数ヶ月頑張ったけどやっぱり変更します。。

カラースキーマ: Monokai



フォント: Source Code Pro



あ~ スッキリ♪

2019年5月8日水曜日

PhpStorm 割引販売のご紹介


https://secure.samuraism.com/referral/8BAEF98D2EE87690D23BB03ED3A7F393

PhpStorm は300円しか割引ありませんが、無いよりは良いですしね。
サムライズムって会社は2018年8月くらい(?)からの日本正規代理店みたいです。

Followers