Actions
Code Formatting¶
Για τη μορφοποίηση του κώδικα PHP του Open eClass ακολουθούμε τους προκαθορισμένους κανόνες του Netbeans για τον κώδικα PHP:
- Το indenting γίνεται μόνο με κενά, όχι με tab.
- Το βασικό indenting είναι 4 στήλες.
- Σε όλες τις δομές ελέγχου που περιέχουν μπλοκ, τα μπλοκ θα βρίσκονται μέσα σε άγκιστρα ακόμα κι αν περιέχουν μια μόνο εντολή. Δηλαδή:
if ($flag) { do_this(); } else { do_that(); do_something_else(); }
- Τα άγκιστρα των δομών ελέγχου ανοίγουν στο τέλος της αρχικής γραμμής και κλείνουν στην επόμενη γραμμή μετά την τελευταία εντολή κώδικα. Αυτό ισχύει και για τους ορισμούς συναρτήσεων και κλάσεων. Πχ:
function do_this($arg1, $arg2) { ... }
Ειδικότερα, όλοι οι κανόνες είναι οι εξης:
Indentation¶
- Expand tabs to spaces
- “tab” size: 4 spaces
- no initial indentation
- continuation indentation of 8 spaces
- array declaration indentation of 4 spaces
Braces on the same line¶
- class declaration
- method declaration
- if
- else
- elseif
- for
- foreach
- while
- do
- switch
- try
- catch
- use trait body
- ... all other
One blank line¶
- before namespace
- after namespace
- before use
- after use
- before class
- after class
- before fields
- between fields
- after fields
- before function
- after function
- after open tag
- before use trait
No blank line¶
- after class header
- before class end
- before function end
- before close tag
Blank spaces¶
- before keywords
- while
- else
- elseif
- catch
- before parentheses
- if
- elseif
- for
- foreach
- while
- catch
- switch
- around operators
- binary
- ternary
- string concatenation
- key => value pairs
- assignment operators
- before left braces
- class declaration
- method declaration
- if
- elseif
- else
- while
- for
- foreach
- do
- switch
- try
- catch
- use trait body
- after comma
- after semicolon
- after type cast
- after keyword
- after short PHP tag
- before close PHP tag
Wrapping¶
- always
- for
- foreach
- if
- while
- do
- never
- extends / implements
- method parameters
- method call arguments
- chained method calls
- array initializer
- binary operators
- ternary operators
- assignment operators
Updated by Αλέξανδρος Διαμαντίδης over 7 years ago · 7 revisions