jam1024
V2EX  ›  PHP

没搞懂 PHP 的 PSR2 的规范?

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