You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
7.3 KiB
162 lines
7.3 KiB
2 years ago
|
/*****************************************************************************
|
||
|
* The contents of this file are subject to the RECIPROCAL PUBLIC LICENSE
|
||
|
* Version 1.1 ("License"); You may not use this file except in compliance
|
||
|
* with the License. You may obtain a copy of the License at
|
||
|
* http://opensource.org/licenses/rpl.php. Software distributed under the
|
||
|
* License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
|
||
|
* either express or implied.
|
||
|
*
|
||
|
* @product: phpStylist
|
||
|
* @author: Mr. Milk (aka Marcelo Leite)
|
||
|
* @email: mrmilk@anysoft.com.br
|
||
|
* @version: 1.0
|
||
|
* @date: 2007-11-22
|
||
|
*
|
||
|
*****************************************************************************/
|
||
|
|
||
|
CONTENTS
|
||
|
--------
|
||
|
Below you will find instructions on how to use phpStylist:
|
||
|
|
||
|
- Web Server Usage
|
||
|
- Command Line Mode
|
||
|
- PSPad Integration
|
||
|
- Command Line Options
|
||
|
|
||
|
==============================================================================
|
||
|
|
||
|
WEB SERVER USAGE
|
||
|
----------------
|
||
|
|
||
|
phpStylist runs as a single file on you web server. You don't need any special
|
||
|
module or library. It has been tested with php from 4.4.2 to 5.2.2.
|
||
|
|
||
|
Save phpStylist.php to your web server folder and start it from the browser.
|
||
|
For example, http://localhost/phpStylist.php.
|
||
|
|
||
|
On the left menu, you will see more than 30 options that you can use to adjust
|
||
|
the application to your coding style. All options are sticky based on cookies.
|
||
|
Select one of your files or click on the button "Use Sample" and try each
|
||
|
option to see what it is all about.
|
||
|
|
||
|
If you want to type in or paste code directly into the app, first click on the
|
||
|
option "SHOW EDITABLE TEXT BOX". The right panel will then become editable.
|
||
|
|
||
|
COMMAND LINE MODE
|
||
|
-----------------
|
||
|
|
||
|
You can also use phpStylist through the command line to automatically format
|
||
|
local files. You will still need php installed.
|
||
|
|
||
|
First, find the exact location of you php.exe and the exact location where you
|
||
|
placed phpStylist. Let's say they are in
|
||
|
"C:\Program Files\PHP\php.exe" and "C:\Program Files\Apache\htdocs\phpStylist.php"
|
||
|
|
||
|
You then must run php passing phpStylist.php along with the -f argument. At
|
||
|
this point the command line would be like this:
|
||
|
"C:\Program Files\PHP\php.exe" -f "C:\Program Files\Apache\htdocs\phpStylist.php"
|
||
|
|
||
|
But that's not all. You also need to add the full path of the source file you
|
||
|
want to format and the options you want to be used. For each of those 34 options
|
||
|
you see on the web server usage, there will be an option on the command line.
|
||
|
You can use the "--help" option to see a list of options.
|
||
|
|
||
|
Use the --help switch to see all options (full list at the end of this file):
|
||
|
"C:\Program Files\PHP\php.exe" -f "C:\Program Files\Apache\htdocs\phpStylist.php" --help
|
||
|
|
||
|
The first phpStylist paramenter MUST be the source file name you want to
|
||
|
format. After the file name, you can add as many options as you want, in any
|
||
|
order. It can get pretty big, but it works. Another example:
|
||
|
"C:\Program Files\PHP\php.exe" -f "C:\Program Files\Apache\htdocs\phpStylist.php"
|
||
|
"C:\Program Files\Apache\htdocs\source_file_to_format.php" --space_after_if
|
||
|
--indent_case --indent_size 4 --space_after_comma --line_before_function
|
||
|
|
||
|
Output will be to STDOUT, so if you want to send it to a file, append "> filename"
|
||
|
at the end of the command line. In our above example:
|
||
|
"C:\Program Files\PHP\php.exe" -f "C:\Program Files\Apache\htdocs\phpStylist.php"
|
||
|
"C:\Program Files\Apache\htdocs\source_file_to_format.php" --space_after_if
|
||
|
--indent_case --indent_size 4 --line_before_comment_multi --vertical_array
|
||
|
--line_before_function > "C:\Code Library\Formatted Code\destination_file.php"
|
||
|
|
||
|
Don't forget the quotes around long file names.
|
||
|
|
||
|
PSPAD INTEGRATION
|
||
|
-----------------
|
||
|
PSPad is a popular, powerful and free code editor. It can be extended through
|
||
|
scripting. I have also created a script that will automatically format php code
|
||
|
from inside the editor. In fact, the script runs phpStylist in command line
|
||
|
mode, sending the current editor file name. It then get the results and replace
|
||
|
the code in the editor.
|
||
|
|
||
|
Save the file phpStylist.js to your PSPad javascript folder, usually
|
||
|
C:\Program Files\PSPad\Script\JScript.
|
||
|
|
||
|
Open the phpStylist.js file and edit the first two variables:
|
||
|
php_path = "C:\\Program Files\\xampp\\php\\php.exe";
|
||
|
stylist_path = "C:\\Program Files\\xampp\\htdocs\\phpStylist.php";
|
||
|
|
||
|
Replace the paths with the appropriate for your system. Don't forget to double
|
||
|
backslashes.
|
||
|
|
||
|
You will also see all the options, some are commented out, some are active (the
|
||
|
current setup is the one I use). Simply comment out or uncomment the options
|
||
|
you want to use and save the file. Restart PSPad or use the the option Scripts,
|
||
|
Recompile Scripts.
|
||
|
|
||
|
Now, just open a php file on the editor and select phpStylist from the menu.
|
||
|
That's all. You can also select some block of code before using the option so
|
||
|
you can reformat only that portion. Of course, try to select a full block such
|
||
|
as a function.
|
||
|
|
||
|
If you don't use PSPad or don't want the integration you don't need the file
|
||
|
phpStylist.js.
|
||
|
|
||
|
FULL LIST OF OPTIONS
|
||
|
--------------------
|
||
|
|
||
|
Indentation and General Formatting:
|
||
|
--indent_size n n characters per indentation level
|
||
|
--indent_with_tabs Indent with tabs instead of spaces
|
||
|
--keep_redundant_lines Keep redundant lines
|
||
|
--space_inside_parentheses Space inside parentheses
|
||
|
--space_outside_parentheses Space outside parentheses
|
||
|
--space_after_comma Space after comma
|
||
|
|
||
|
Operators:
|
||
|
--space_around_assignment Space around = .= += -= *= /= <<<
|
||
|
--align_var_assignment Align block +3 assigned variables
|
||
|
--space_around_comparison Space around == === != !== > >= < <=
|
||
|
--space_around_arithmetic Space around - + * / %
|
||
|
--space_around_logical Space around && || AND OR XOR << >>
|
||
|
--space_around_colon_question Space around ? :
|
||
|
|
||
|
Functions, Classes and Objects:
|
||
|
--line_before_function Blank line before keyword
|
||
|
--line_before_curly_function Opening bracket on next line
|
||
|
--line_after_curly_function Blank line below opening bracket
|
||
|
--space_around_obj_operator Space around ->
|
||
|
--space_around_double_colon Space around ::
|
||
|
|
||
|
Control Structures:
|
||
|
--space_after_if Space between keyword and opening parentheses
|
||
|
--else_along_curly Keep else/elseif along with bracket
|
||
|
--line_before_curly Opening bracket on next line
|
||
|
--add_missing_braces Add missing brackets to single line structs
|
||
|
--line_after_break Blank line after case "break"
|
||
|
--space_inside_for Space between "for" elements
|
||
|
--indent_case Extra indent for "Case" and "Default"
|
||
|
|
||
|
Arrays and Concatenation:
|
||
|
--line_before_array Opening array parentheses on next line
|
||
|
--vertical_array Non-empty arrays as vertical block
|
||
|
--align_array_assignment Align block +3 assigned array elements
|
||
|
--space_around_double_arrow Space around double arrow
|
||
|
--vertical_concat Concatenation as vertical block
|
||
|
--space_around_concat Space around concat elements
|
||
|
|
||
|
Comments:
|
||
|
--line_before_comment_multi Blank line before multi-line comment (/*)
|
||
|
--line_after_comment_multi Blank line after multi-line comment (/*)
|
||
|
--line_before_comment Blank line before single line comments (//)
|
||
|
--line_after_comment Blank line after single line comments (//)
|