el:developers:codeformatting

Για τη μορφοποίηση του κώδικα PHP του Open eClass ακολουθούμε τους προκαθορισμένους κανόνες του Netbeans για τον κώδικα PHP:

* Το indenting γίνεται μόνο με κενά, όχι με tab. * Το βασικό indenting είναι 4 στήλες. * Σε όλες τις δομές ελέγχου που περιέχουν μπλοκ, τα μπλοκ θα βρίσκονται μέσα σε άγκιστρα ακόμα κι αν περιέχουν μια μόνο εντολή. Δηλαδή:

if ($flag) {
    do_this();
} else {
    do_that();
    do_something_else();
}

* Τα άγκιστρα των δομών ελέγχου ανοίγουν στο τέλος της αρχικής γραμμής και κλείνουν στην επόμενη γραμμή μετά την τελευταία εντολή κώδικα. Αυτό ισχύει και για τους ορισμούς συναρτήσεων και κλάσεων. Πχ:

function do_this($arg1, $arg2) {
    ...
}

Ειδικότερα, όλοι οι κανόνες είναι οι εξης:

h3. Indentation

  • Expand tabs to spaces
  • “tab” size: 4 spaces
  • no initial indentation
  • continuation indentation of 8 spaces
  • array declaration indentation of 4 spaces

h3. Braces on the same line

  • class declaration
  • method declaration
  • if
  • else
  • elseif
  • for
  • foreach
  • while
  • do
  • switch
  • try
  • catch
  • use trait body
  • … all other

h3. 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

h3. No blank line

  • after class header
  • before class end
  • before function end
  • before close tag

h3. 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

h3. 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
  • Last modified: 2023/01/25 16:29