Project

General

Profile

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