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:
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.
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...
Current version is 0.8. You can download it here.
--space-after-start-bracket: Allow to insert a space after start bracket '('.
With --space-after-start-bracket | Without --space-after-start-bracket |
<?php
if ( $condition) {
}
?> |
<?php if ($condition) { } ?> |
--space-before-end-bracket: Allow to insert a space before end bracket ')'.
With --space-before-end-bracket | Without --space-before-end-bracket |
<?php
if ($condition ) {
}
?> |
<?php if ($condition) { } ?> |
--space-after-if: Allow to insert a space after 'if' keyword.
With --space-after-if | Without --space-after-if |
<?php
if ($condition) {
}
?> |
<?php if($condition) { } ?> |
--space-after-switch: Allow to insert a space after 'switch' keyword.
With --space-after-switch | Without --space-after-switch |
<?php
switch ($condition) {
}
?> |
<?php switch($condition) { } ?> |
--space-after-while: Allow to insert a space after 'while' keyword.
With --space-after-while | Without --space-after-while |
<?php
while ($condition) {
}
?> |
<?php while($condition) { } ?> |
--space-before-start-angle-bracket: Allow to insert a space before starting angle bracket '{'.
With --space-before-start-angle-bracket | Without --space-before-start-angle-bracket |
<?php
while($condition) {
}
?> |
<?php while($condition){ } ?> |
--space-after-end-angle-bracket: Allow to insert a space after starting angle bracket '}'.
With --space-after-end-angle-bracket | Without --space-after-end-angle-bracket |
<?php
while($condition){
} // end of while
?> |
<?php while($condition){ }// end of while ?> |
--extra-padding-for-case-statement: Increase padding before case statements.
With --extra-padding-for-case-statement | Without --extra-padding-for-case-statement |
<?php switch($condition){ case 1: action1(); break; case 2: action2(); break; default: defaultaction(); break; } ?> |
<?php switch($condition){ case 1: action1(); break; case 2: action2(); break; default: defaultaction(); break; } ?> |
--one-true-brace-function-declaration: Use "One true brace" formating for functions.
With --one-true-brace-function-declaration | Without --one-true-brace-function-declaration |
<?php
function aFunction($param)
{
// function content
}
?> |
<?php function aFunction($param) { // function content } ?> |
--glue-amperscore: Glue "&" to following item.
With --glue-amperscore | Without --glue-amperscore |
<?php $value = &$objectInstance; ?> |
<?php
$value = & $objectInstance;
?> |
--change-shell-comment-to-double-slashes-comment: Change "# ..." comment into "// ..." comments.
Source | With --change-shell-comment-to-double-slashes-comment | Without --change-shell-comment-to-double-slashes-comment |
<?php #comment content //another comment ?> |
<?php // comment content // another comment ?> |
<?php # comment content // another comment ?> |
--indent-with-tab: If selected, tabulation (ASCII #9) character is used to indent text, elsewhere space (ASCII #32) character is used.
--force-large-php-code-tag: Change "<?" and "<%" tokens into "<?php" and "%>" into "?>".
Source | With --force-large-php-code-tag | Without --force-large-php-code-tag |
<? ?> <% %> |
<?php ?> <?php ?> |
<? ?> <% %> |
--force-true-false-null-contant-lowercase: Lowercase for NULL, TRUE and FALSE constants as encouraged in PEAR coding standards.
Source | With --force-true-false-null-contant-lowercase | Without --force-true-false-null-contant-lowercase |
<?php if(TRUE){ if(FALSE){ $value = NULL; } } ?> |
<?php if(true){ if(false){ $value = null; } } ?> |
<?php if(TRUE){ if(FALSE){ $value = NULL; } } ?> |
--align-equal-statements: Align all assignement statements.
Source | With --align-equal-statements |
<?php $noError = true; $feildEmpty = false; $showMessage = false; $showMessage = false; $anotherVariable[0123] = 'bla bla bla'; $showBlaBlaBlaMessage = false; ?> |
<?php $noError = true; $feildEmpty = false; $showMessage = false; $showMessage = false; $anotherVariable[0123] = 'bla bla bla'; $showBlaBlaBlaMessage = false; ?> |
--align-equal-statements-to-fixed-pos: Align all assignement statements to a fixed position.
Source | With --align-equal-statements-to-fixed-pos 40 |
<?php $noError = true; $feildEmpty = false; $showMessage = false; $showMessage = false; $anotherVariable[0123] = 'bla bla bla'; $showBlaBlaBlaMessage = false; ?> |
<?php $noError = true; $feildEmpty = false; $showMessage = false; $showMessage = false; $anotherVariable[0123] = 'bla bla bla'; $showBlaBlaBlaMessage = false; ?> |
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 */ ?> |
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-if | X |
--space-after-switch | X |
--space-after-while | X |
--space-before-start-angle-bracket | X |
--space-after-end-angle-bracket | X |
--extra-padding-for-case-statement | - |
--one-true-brace-function-declaration | X |
--glue-amperscore | X |
--change-shell-comment-to-double-slashes-comment | X |
--indent-with-tab | - |
--force-large-php-code-tag | X |
--force-true-false-null-contant-lowercase | X |
--align-equal-statements | X |
--align-equal-statements-to-fixed-pos | - |
Use 4 for the padding character count to use.
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