phpCB: PHP Code Beautifier

Summary

Introduction

phpCodeBeautifier has been written by Sébastien Hordeaux and is copyright 2002 of myself. Contact me before including it in any package (commercial or not).

The main goal of this tool is to avoid spending hours on reformating code to suit my own way of presenting it. The tool has been declined into 3 versions:

  1. A GUI version which allow to process file visually.
  2. A command line version which allow to be batched or integrated with other tools (CVS, IDE, ...)
  3. As an integrated tool of PHPEdit.

I hope this tool will assist you as it does for me. If you find bug, please feel free to report them in the bug tracker.

This tool has required work; you are encouraged to reward this work by making a donation, this is the only way to encourage us to continue developping tools like this one and keeping them free.

Check http://www.phpedit.net/products/phpCodeBeautifier/ for last updates.

ChangeLog


2003-09-18 - Version 0.8

  ~ This version owns all fixes done inside PHPEdit.

2003-01-07 - Version 0.7.7

  + #1062 Added cboRewriteOnlyDocumentationComment option in the code beautifier.
  + Added cboOneTrueBrace in the code beautifier
  - Fixed bug #1054: If /Else indentation
  - Fixed bug #1054: do {} while is not correct indented
  - Fixed bug #971: PHP Interpreter line command modified

2002-12-26 - Version 0.7.6

  - Fixed bug #1146:  Tick `` code is removed.
    http://bugs.phpedit.net/view_bug_advanced_page.php?f_id=0001146

2002-12-02 - Version 0.7.5

  - Fixed bug #1105: Command line exe (phpcb.exe) does not support
    --optimize-eol - http://bugs.phpedit.net/view_bug_advanced_page.php?f_id=0001105

2002-11-03 - Version 0.7.4

  - Fixed problem with if inside switchs

2002-10-01 - Version 0.7.3

  + Added --glue-arrow option to strip spaces bfore and after -> (or to add one if option is not available)
  + Added --remove-comments option to remove all comments from the processed file.
  + Added --optimize-eol which strip all useless lines (>1 consecutive line end is changed into a single EOL)

2002-09-14 - Version 0.7.2

  + Added support for multiple configuration files.
  - Fixed bug #744: http://bugs.phpedit.net/view_bug_page.php?f_id=0000744
  - Fixed bug #741: http://bugs.phpedit.net/view_bug_page.php?f_id=0000741
  - Fixed bug #740: http://bugs.phpedit.net/view_bug_page.php?f_id=0000740
  - Fixed bug #742: http://bugs.phpedit.net/view_bug_page.php?f_id=0000742
  - Fixed bug #626: http://bugs.phpedit.net/view_bug_page.php?f_id=0000626

2002-09-13

  + Added file format support.
  ~ The progress bar is now hidden when the code beautifier is inactive.

2002-08-04 - Version 0.7.1

  + Added the ability to drop files to open them.
  + Added scrolling synchronization between both Before & After form.

Missing ChangeLog items before that...

Download

Current version is 0.8. You can download it here.

Options

Comment rendering style

The following style of comment formating are available:

--comment-rendering-style PEAR --comment-rendering-style PHPDoc
<?php

/**
 * bla bla bla
 *
 * @access public
 */

?>
<?php

/**
* bla bla bla
*
* @access public
*/

?>

PEAR Coding standards Tips

To follow PEAR coding standards, I recommend you to use the following configuration:

Option State
--space-after-start-bracket-
--space-before-end-bracket-
--space-after-ifX
--space-after-switchX
--space-after-whileX
--space-before-start-angle-bracketX
--space-after-end-angle-bracketX
--extra-padding-for-case-statement-
--one-true-brace-function-declarationX
--glue-amperscoreX
--change-shell-comment-to-double-slashes-commentX
--indent-with-tab-
--force-large-php-code-tagX
--force-true-false-null-contant-lowercaseX
--align-equal-statementsX
--align-equal-statements-to-fixed-pos-

Use 4 for the padding character count to use.

Example

This is a sample call of the command line version:

# phpCB --space-after-if                             \
    --space-after-switch                             \
    --space-after-while                              \
    --space-before-start-angle-bracket               \
    --space-after-end-angle-bracket                  \
    --one-true-brace-function-declaration            \
    --glue-amperscore                                \
    --change-shell-comment-to-double-slashes-comment \
    --force-large-php-code-tag                       \
    --force-true-false-null-contant-lowercase        \
    --align-equal-statements                         \
    --comment-rendering-style PEAR                   \
    --equal-align-position 50                        \
    --padding-char-count 4                           \
    c:\some\path\to\file.php