2

誰でも PHP_Beautifier を phped に統合する手順をリストできますか。

4

2 に答える 2

4

ここにある手順を試してください。これらは、コードをエディターに返すスクリプトを統合するための一般的な手順です。

ステップ 5 の注意事項:

<?php

$f = fopen("php://stdin", "r");
$s = fread($f, 100000); // should be big enough
fclose($f);
echo "\"" . $s . "\"";

?>

これは無視する必要があり、かなりずさんです。ここに投稿された他の PHPed スクリプトの形式のようなものになります。

実際に PHP_beautifier を使用する方法については、ドキュメントを参照してください

ドキュメントを引用するには:

  // Create the instance
  $oBeautifier = new PHP_Beautifier(); 

  /* snip optional stuff*/

  // Define the input file
  $oBeautifier->setInputFile(__FILE__); 

  // Define an output file.
  // $oBeautifier->setOutputFile(__FILE__.'.beautified.php');  No need for this

  // Process the file. DON'T FORGET TO USE IT
  $oBeautifier->process();

  // Show the file (echo to screen)
  $oBeautifier->show();

  // Save the file
  //$oBeautifier->save(); No Need for this.

代わりにファイルを指定する必要がありますが、メインの Beautifier.php ファイルを調べたところ、何らかの方法で STDIN を受け入れるようです。それでは、スクリプトを作成しましょう。

<?php

class BeautifyCode
{

    public function run()
    {
        require_once('path/to/Beautifier.php'); // It's the main file in the PEAR package

        // Create the instance
        $oBeautifier = new PHP_Beautifier();

        // Define the input file
        // I believe you leave blank for STDIN, looking through the code **
        $oBeautifier->setInputFile();
        // If that doesn't work try:
        // $oBeautifier->setInputFile('php://stdin');

        $oBeautifier->process();

        $oBeautifier->show();

        // If that doesn't work, try this:
        // echo utf8_decode($oBeautifier->get());
    }

}

$bc = new BeautifyCode;
$bc->run();

?>

これを任意の場所に PHP ファイルとして保存し、最初のリンクのステップ 3 に従って呼び出します。@php5@PHP_beautifier はおそらくそれを必要とするので、私は安全で を使用します。

PHP_beautifier が STDIN 入力をどのように処理するかは正確にはわかりません。コードを調べましたが、はっきりとはわかりませんでした。もう 1 つのオプションは、最初にクリーニングする PHP ファイルを常に保存してから、開いてクリーニングしている PHP ファイルへのパスを取得する方法について phpED のドキュメントを参照することです。

PHP_beautifier パッケージを調べる時間があれば、より明確な答えを出すことができます。

于 2009-07-12T12:20:58.710 に答える
0

入力または出力として STDIN および STDOUT を使用できます。

    // Create the instance
    $oBeautifier = new PHP_Beautifier();

    // Define the input file
    // I believe you leave blank for STDIN, looking through the code **
    $oBeautifier->setInputFile(STDIN);
    $oBeautifier->setOutputFile(STDOUT);
    $oBeaut->process();
    $oBeaut->save();
于 2010-03-15T20:18:37.753 に答える