如何将PHP_Beautifier集成到NuSphere PHPed IDE中?

时间:2009-07-12 09:58:13

标签: php integration phped php-beautifier

任何人都可以列出在PHP中集成PHP_Beautifier的步骤。

2 个答案:

答案 0 :(得分:4)

You should try the steps located here。这些是集成任何将代码返回给编辑器的脚本的一般步骤。

在步骤5中注意:

<?php

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

?>

这应该被忽略,而且非常草率。它类似于其他PHPed脚本posted here的格式。

现在看看如何实际使用PHP_beautifier,refer to the documentation

引用文档:

  // 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输入。我查看了代码,但无法确定。另一个选择是始终保存您正在清理的PHP文件,然后查看phpED文档,了解如何获取已打开并正在清理的PHP文件的路径。

如果我有更多的时间来浏览PHP_beautifier包,我可以给出更明确的答案。

答案 1 :(得分: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();