BLOGTIMES
«Prev || 1 || Next»
2019/05/09

PHP の内容を AST で解析する

php  softwareengineering  tutorial 

PHP のファイルが静的解析したくなったので、ソースから AST を得る方法を調べてみました。
以前、Eclipse の ASTParser を使う話を書いたことがありましたが、それの PHP 版になります。

今回の作業にあたって、以下のスライドがとても参考になりました。

PHP は 7 になってから内部的に AST が利用されているため、以前よりも AST を得るのは簡単になっています。
既に以下のような extension が提供されているので、いずれかをインストールすれば大丈夫です。

今回はマニュアルが充実している前者の nikic/php-ast を入れてみることにしました。
以下、構築メモになります。

[PHP の内容を AST で解析する の続きを読む]

    at 23:31 |
    2019/05/09

    Windows 10 でコマンドプロンプトから MySQL (MariaDB) を使うと文字化けする?

    windows10  mysql 
    レガシーコンソール - Windows 10 でコマンドプロンプトから MySQL (MariaDB) を使うと文字化けする?

    Windows 10 のコンソール上から MySQL (MariaDB) にログインすると、文字コードをきちんと CP932 や SJIS にしていても日本語が文字化けすることがあるようです。

    することがある」とちょっとぼやかした書き方なのは、同じバージョンの Windows 10 と MySQL (MariaDB) の組み合わせで導入しても文字化けする端末とそうでない端末があり、僕が調べた限りでは再現条件が不明です。確認方法は簡単で、以下のようなテーブルを使わない SQL を打ち込んでみるだけです。嘘のような話ですが、こんな単純なSQLですら文字化けします。

    SELECT 'あああああ';

    いろいろ調べてみると Windows 10 1809 のコンソールには以下のバグがあり、今のところ Fix されていないようです。この指示に従って文字化けしているマシンの cmd.exe の設定をレガシーコンソールモードにしてみると、文字化けが解消することが確認できました。こういうのが OS のバグというのは困ったものです。

    バージョン 1809 の OS 上でコンソール出力が正しく表示されない問題について

    本問題は対象のバージョンの OS で導入された新しいコンソールの不具合に起因して発生しています。
    出力ストリームに紐づけられた内部的なコードページ テーブルの初期化処理に不足があり、内部処理でマルチバイト文字を正しく認識することができず、正しくコンソール出力を行えない問題が発生します。


      at 12:41 |
      «Prev || 1 || Next»

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy