php - 有哪些有用的 PHP 习语?

标签 php conventions

我正在寻求改进我的 PHP 编码,并且想知道其他程序员使用哪些特定于 PHP 的技术来提高生产力或解决 PHP 限制。

一些例子:

  1. 处理命名空间的类命名约定:Part1_Part2_ClassName 映射到文件 Part1/Part2/ClassName.php

  2. if ( count($arrayName) )//处理 $arrayName 未设置或为空

  3. 可变函数名称,例如$func = 'foo'; $函数($栏);//调用 foo($bar);

最佳答案

最终,您将首先通过学习一般良好的编程实践来充分利用 PHP,然后再专注于任何特定于 PHP 的内容。话虽如此……


自由地申请乐趣和利润:

  1. foreach 循环中的迭代器。几乎从来没有错误的时间。

  2. 围绕类自动加载进行设计。使用 spl_autoload_register(),而不是 __autoload()。为了加分,让它递归地扫描目录树,然后随意将您的类重组为更符合逻辑的目录结构。

  3. 无处不在的打字提示。对标量使用断言。

    function f(SomeClass $x, array $y, $z) {
        assert(is_bool($z))
    }
    
  4. 输出 HTML 以外的内容。

    header('Content-type: text/xml'); // or text/css, application/pdf, or...
    
  5. 学习使用异常。编写将错误转换为异常的错误处理程序。

  6. 用类常量替换您的 define() 全局常量。

  7. 用适当的 Date 类替换您的 Unix 时间戳。

  8. 在长函数中,unset() 变量,当你用完它们。


带着罪恶感使用:

  1. 像数组一样遍历对象的数据成员。为他们没有被宣布为私有(private)而感到内疚。这不是像 Python 或 Lisp 这样的异教徒语言。

  2. 使用输出缓冲区来组装长字符串。

    ob_start();
    echo "whatever\n";
    debug_print_backtrace();
    $s = ob_get_clean();
    

避免除非绝对必要,甚至可能不会,除非你真的讨厌维护程序员和你自己:

  1. 魔术方法(__get__set__call)

  2. 提取()

  3. 结构化数组——使用对象

关于php - 有哪些有用的 PHP 习语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/243200/

相关文章:

javascript - pikaday 日期未从 php 表单发送

php - 是否可以将 store_result() 和 bind_result() 与 PHP PDO 一起使用?

php - 这在PHP中是一个很好的哈希密码功能吗?如果没有,为什么不呢?

php通过字符串名称调用类函数

nhibernate - FluentNHibernate 和 VARCHAR 列

c++ - 这是什么 reinterpret_cast 约定?它比 static_cast 好吗?

javascript - 如何在JQuery中显示动态更新的数据

c# - 在包装 PInvoke 东西的属性的 get 函数中放置大量代码是不好的做法吗?

Objective-C NSThread 引用计数约定(保留与自动释放)

java - 是否应该在 Java 中避免像 "if (condition) if (condition) ..."这样的多个 if 语句?