phpnewlineline-endingspsr-2php-fig

What will line ending cause when programming?


There is a thing make me puzzled in 2.2 of PSR-2 document.

enter image description here

All I know is that different os use different line ending as default :

I want to know why should "All PHP files MUST use the Unix LF(linefeed) line ending" . Or in other word, what will line ending cause ?


Solution

  • The main reason behind this is scv (Source Code Versioning), where changing line-endings cause unnecessary differences and conflicts.

    Secondly, we usually serve our services on Linux, which is based on Unix, which use the LF file ending.

    The first one causes the need of a Standard, and the second one tells you why you should use LF Standard.

    windows:CRLF = '\r\n'
    unix:LF      = '\n'
    mac:CR       = '\r' // macOS also changed to LF a long time ago btw.
    

    Update: also note that, whilst PHP - and imo. all the other scripting languages - doesn't really depend on a specific line-ending, in other languages this might cause issues.