[SUGGESTION] PSR-2

117 views
Skip to first unread message

Henrique Rodrigues

unread,
Jul 24, 2017, 3:19:22 AM7/24/17
to PHP Framework Interoperability Group
Hello, I'm a beginner in the group and I'm a computer student, I recently met PHP-FIG, every time I program, I try to adopt good programming practices, when I start studying PSR, I saw things I already practiced

In PSR-2, there is something that, in my opinion, is not very practical, the "if, elseif and else".

Original Pattern

if ($a === $b) {
            bar();
        } elseif ($a > $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }


Template that I use

if ($a === $b) 
{
            bar();
} 

elseif ($a > $b) 
{
            $foo->bar($arg1);
} 

else 
{
            BazClass::bar($arg2, $arg3);
}



The original standard in my view on files that have thousands of lines of code gets a bit confusing and not organized in my opinion, I would like to know from the community what you think of this?

OBS: Sorry for my English, because my native language is not English, and my knowledge of English is much more technical.

Alice Wonder

unread,
Feb 24, 2018, 4:16:26 AM2/24/18
to PHP Framework Interoperability Group
I prefer the first. I also prefer two spaces over four. When I am working in a term window, space is an issue. Extra newlines means I can see fewer lines at a time and extra 4 space tabs quickly forces the end of a line horizontally out of my view.

I know most people like the second (and 4 spaces for tabs) but honestly - when working on a project with others, use what the project specifies but for your own, do what works best for you. For me - that's not a lot of newlines and two spaces for the tab.

Niels Braczek

unread,
Feb 24, 2018, 9:25:40 AM2/24/18
to php...@googlegroups.com
Am 24.07.2017 um 09:19 schrieb Henrique Rodrigues:

> Original Pattern
>
> if ($a === $b) {
> bar();
> } elseif ($a > $b) {
> $foo->bar($arg1);
> } else {
> BazClass::bar($arg2, $arg3);
> }
>
> Template that I use
>
> if ($a === $b) {
> bar();}
> elseif ($a > $b) {
> $foo->bar($arg1);}
> else {
> BazClass::bar($arg2, $arg3);}
>
> The original standard in my view on files that have thousands of lines of
> code gets a bit confusing and not organized in my opinion, I would like to
> know from the community what you think of this?

First, there are good reasons for the placing of the curly braces - you
see the start and the end of a block immediately without wasting lines.
Actually the current PSR provides better readability than your approach
requiring just one extra line (I, personally, would prefer to require
curly braces to always be on their own line).

On the other hand, if you have files with thousands of lines, you're
simply doing wrong. Methods should always fit on the screen, a class
should not have more than a few methods, and each class shoud live in
its own file. So, in the worst situation, you'd encounter files with a
few hundred lines.

You will get familiar with the PSR very fast, and it will feel natural
after some time. Just give it a chance.

Regards,
Niels

--
| New Stars on the Horizon: GreenCape · nibralab · laJoom |
| http://www.bsds.de · BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · e-Commerce · Joomla! Content Management |
------------------------------------------------------------------
Reply all
Reply to author
Forward
0 new messages