Как интегрировать PHP_Beautifier в NuSphere PHPed IDE? - PullRequest
2 голосов
/ 12 июля 2009

Может кто-нибудь перечислить шаги по интеграции PHP_Beautifier в phped.

Ответы [ 2 ]

4 голосов
/ 12 июля 2009

Вы должны попробовать шаги, расположенные здесь . Это общие шаги для интеграции любого скрипта, который возвращает код обратно в редактор.

Примечание на шаге 5:

<?php

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

?>

Это следует игнорировать, и это довольно небрежно. Это будет что-то вроде формата из других PHP-скриптов , опубликованных здесь .

Теперь, чтобы увидеть, как на самом деле использовать 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. Я просмотрел код, но не мог сказать наверняка. Другой вариант - всегда сначала сохранить файл PHP, который вы чистите, а затем просмотреть документацию phpED, чтобы узнать, как получить путь к файлу PHP, который вы открыли и который чистите.

Если бы у меня было больше времени, чтобы просмотреть пакет PHP_beautifier, я мог бы дать более определенный ответ.

0 голосов
/ 15 марта 2010

Вы можете использовать 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();
...