V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
isb
V2EX  ›  PHP

php 中{}括号的正确书写方法是跟方法名同一行还是下一行?

  •  
  •   isb · 2016-02-01 17:44:57 +08:00 · 4432 次点击
    这是一个创建于 3220 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新人刚开始写 php 有点疑惑。
    看视频上的老师都是这么写的

    class Demo{
        function __constract(){
            if(){
    
            }else{
    
            }
        }
    }
    

    可是我使用 IDE 到时候也就是 phpstorm 的时候就是如下的

    class Demo
    {
        function __construct()
        {
            if()
            {
               echo "test";
            }
        }
    
    
    }
    

    所以那种方式是比较正规的?早点养成习惯= =。

    谢谢各位巨 V !

    第 1 条附言  ·  2016-02-01 19:03:40 +08:00
    不好意思!!我不知道这个会挑起战争。。。

    1 楼的答案已经看了,感谢!
    30 条回复    2016-02-03 15:16:57 +08:00
    curiousjude
        2
    curiousjude  
       2016-02-01 17:51:22 +08:00
    不要纠结了,按照 1 楼说的 PSR 标准写,这个最广泛接受的标准。
    lijinma
        3
    lijinma  
       2016-02-01 17:51:38 +08:00
    请按照 psr-2

    楼上的地址。

    PHPStorm 可以设置的,设置样式为 PSR-1,2 ,每次写完代码 format 一下代码就可以了。
    mengskysama
        4
    mengskysama  
       2016-02-01 17:53:00 +08:00
    PHP PSR 顺便吧 check 加到 pre-commit 里
    rainex
        5
    rainex  
       2016-02-01 18:12:48 +08:00
    第一种是以前显示器小且分辨率低,为了单页显示更多代码行数。

    第二种层次更条理,更容易发现缺的花括号,虽然 IDE 会自动匹配纠错,但有时缺了它会匹配错,第二种写法就一目了然了。

    个人认为第二种更好,可读性占优,现在笔记本分辨率也很高了,何况编程都喜欢用大显示器,总体上看利大于弊。
    Zzzzzzzzz
        6
    Zzzzzzzzz  
       2016-02-01 18:16:38 +08:00
    以后还想写 go 的用第一种.
    Moker
        7
    Moker  
       2016-02-01 18:23:57 +08:00
    一直用 2 的方法写
    orFish
        8
    orFish  
       2016-02-01 18:29:14 +08:00
    @Zzzzzzzzz psr 标准是第二种,既然是写 PHP 就按照第二种吧。。
    lyragosa
        9
    lyragosa  
       2016-02-01 18:47:05 +08:00
    你们又要挑起战争吗!
    cxbig
        10
    cxbig  
       2016-02-01 18:53:09 +08:00
    按 PSR 系列标准就好
    kslr
        11
    kslr  
       2016-02-01 19:04:23 +08:00
    我是下一行拥护者
    123123
        12
    123123  
       2016-02-01 19:06:19 +08:00
    @rainex
    @orFish
    PSR 并不是第二种。 PSR 中换行 { 只有类跟方法
    tilv37
        13
    tilv37  
       2016-02-01 19:11:53 +08:00
    反正我一直是把花括号写下一行的。。
    lxrmido
        14
    lxrmido  
       2016-02-01 19:16:32 +08:00
    我是第一种的脑残粉
    aprikyblue
        15
    aprikyblue  
       2016-02-01 19:28:51 +08:00
    豆腐脑甜的还是咸的。。
    世界上最好的语言是?
    Felldeadbird
        16
    Felldeadbird  
       2016-02-01 20:49:20 +08:00 via iPhone
    异类,烧死你们这群!
    其实看公司规范啊,个人就按自己的习惯。
    kn007
        17
    kn007  
       2016-02-01 20:52:35 +08:00
    按 1 楼。。不过我习惯第一种了
    wy315700
        18
    wy315700  
       2016-02-01 20:56:16 +08:00
    人生苦短,我用 Python
    neone
        19
    neone  
       2016-02-01 21:39:28 +08:00
    之前习惯例二,写过 JavaScript 后变成例一了。
    realpg
        20
    realpg  
       2016-02-01 22:07:46 +08:00
    按 PSR 规范貌似要求下一行

    但是我烦死新建一行了……都是同行
    wanghanlin
        21
    wanghanlin  
       2016-02-01 22:54:59 +08:00
    第二种不是 PSR 啊。。 if 是不换行的。。
    ooh
        22
    ooh  
       2016-02-01 23:26:22 +08:00
    darluc
        23
    darluc  
       2016-02-01 23:39:47 +08:00
    老师已经老啦
    testisitok
        24
    testisitok  
       2016-02-02 01:29:48 +08:00 via Android
    按自己的习惯写,提交前按团队要求格式化
    popok
        25
    popok  
       2016-02-02 09:56:54 +08:00
    个人觉得,第一种完全就是反人类的,这层次看都看不懂了,第 2 种就很好,很容易看清楚
    xujif
        26
    xujif  
       2016-02-02 10:44:59 +08:00
    写 c,c++,c#的时候喜欢换行写,后来改行 java ,不换行写,后来又换了 php ,一半换一半不换,纠结死,后来想怎么写就怎么写,保存的时候用插件格式化一下就好
    zerozzp
        27
    zerozzp  
       2016-02-02 18:52:30 +08:00
    我也喜欢第一种,看来要改了
    techmoe
        28
    techmoe  
       2016-02-03 08:25:45 +08:00 via Android
    我要是没记错的话 sublime 是括号和方法在一行,我个人习惯也是这样的
    wubotao
        29
    wubotao  
       2016-02-03 12:20:32 +08:00
    一直用第一种
    timsims
        30
    timsims  
       2016-02-03 15:16:57 +08:00
    按 psr2 ,保存时直接用工具格式化
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2640 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:37 · PVG 23:37 · LAX 07:37 · JFK 10:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.