jam1024
V2EX  ›  PHP

没搞懂 PHP 的 PSR2 的规范?

  •  
  •   jam1024 · Aug 13, 2018 · 5463 views
    This topic created in 3004 days ago, the information mentioned may be changed or developed.

    PSR2 里提到: 方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范

    但是 php 默认有一大堆不符合改规范的函数,如:

    file_get_contents , json_encode

    25 replies  •  2018-08-25 16:22:14 +08:00
    zsdroid
    zsdroid
    Aug 13, 2018
    1
    PSR2 针对 php 的,内置函数不是 php 开发的
    jam1024
    jam1024
    OP
    Aug 13, 2018
    2
    @zsdroid 什么叫“内置函数不是 php 开发的”
    demonchang
    demonchang
    Aug 13, 2018
    3
    你自己写的 php 要遵守这个规范。。
    zsdroid
    zsdroid
    Aug 13, 2018❤️1
    4
    @jam1024 #2 内置函数是 c 开发的啊,更何况 php 出来的时候还没有 psr1 呢,难道出来一个规范就要把 php 全部重构吗
    feiyuanqiu
    feiyuanqiu
    Aug 13, 2018❤️1
    5
    1. 制定 PSR 的 PHP-FIG 不是 PHP 官方组织,约束不到核心开发
    2. PHP 内置函数名是历史遗留问题,现今也没看到任何要整改的迹象,PHPer 不看重这个
    jam1024
    jam1024
    OP
    Aug 13, 2018
    6
    @feiyuanqiu 编起码来感觉各种命名不一混用,有点蛋疼
    mjVtb96d2bap2u3Z
    mjVtb96d2bap2u3Z
    Aug 13, 2018 via Android
    7
    PSR2 并不是 php 官方定的,最初只是几个开源开发者定的协作规范。后来其他开发者遵循这个规范带来很大方便,才逐渐流行开来。
    chinvo
    chinvo
    Aug 13, 2018
    8
    原因就不说了,如果感觉不爽,可以用一个 helper function 把你要用的内置函数封装下
    WuwuGin
    WuwuGin
    Aug 13, 2018
    9
    1.psr2 只是规范,不是一个强制标准
    2.php 的内置函数 != 方法
    3.php 历史遗留问题需要考虑兼容性。
    jam1024
    jam1024
    OP
    Aug 13, 2018
    10
    @WuwuGin 了解了
    allgy
    allgy
    Aug 13, 2018
    11
    内置函数开发的时候连 FIG 这个组织都没诞生
    sagaxu
    sagaxu
    Aug 13, 2018 via Android
    12
    method 和 function 的要求是不同的
    pynix
    pynix
    Aug 13, 2018
    13
    退坑保平安。
    SimbaPeng
    SimbaPeng
    Aug 13, 2018 via Android
    14
    php 的宗旨是 freestyle,233333
    zn
    zn
    Aug 13, 2018
    15
    哥哥,知道什么叫历史包裹,什么叫向后兼容性吗?
    hubqin
    hubqin
    Aug 13, 2018 via Android
    16
    按我的理解,方法是指类的方法,和全局的函数是不一样的概念。
    shiny
    shiny
    PRO
    Aug 13, 2018
    17
    方法是 method, 函数是 function,用中文的时候稍不注意就会混淆两者。
    anewg
    anewg
    Aug 13, 2018
    18
    对这个敏感的还是别用 php 了
    KgM4gLtF0shViDH3
    KgM4gLtF0shViDH3
    Aug 13, 2018 via iPhone
    19
    @zn #15 是包袱吧
    ninerec
    ninerec
    Aug 13, 2018
    20
    个人的理解以及基于其上的建议:
    1. 类似 PHP 的内置函数&自定义全局的 function,使用 snake_case ;
    2. 自定义的类.方法,方法名使用 camelCase;
    3. PSR 是用来约束社区&指导自己的编码规范的,别太纠结。
    zlhsvc
    zlhsvc
    Aug 13, 2018
    21
    其实这个很随意的,公司统一下规范就好了
    Nick66
    Nick66
    Aug 14, 2018
    22
    函数和方法还是有区别的,内置函数是历史遗留问题
    bapijun
    bapijun
    Aug 17, 2018
    23
    php 函数哪个是遗留问题,没办法的事情,比这个更牛逼更操蛋的遗留问题有的是
    bapijun
    bapijun
    Aug 17, 2018
    24
    psr 的意义,在于现在主流的 php 程序员都这么干,你看别人的代码这样写,自己的代码也这么命名,大家都舒服,
    hp66722667
    hp66722667
    Aug 25, 2018
    25
    来搞 python 默认 a_b_c(),特别统一
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3090 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 04:39 · PVG 12:39 · LAX 20:39 · JFK 23:39
    ♥ Do have faith in what you're doing.