好(PHP编程实践)

时间:2014-11-13 11:41:10

标签: php pdo mysqli standards

我对Web开发很陌生,并且在开始学习坏习惯之前尝试为良好的编程实践构建一套规则。因此,我想问你们所有人,你们建议新手在代码重用性和其他人的可读性方面尽早采用哪些做法。下面我分享了一些我自己为自己选择的“规则”(如果其中任何一个“旧”或不相关,请随时更正/更新):

双引号与单引号:

  • 带双引号的回声语句,以便可以解析变量 内联(包括html标签和回车/标签 - 但不是 功能)
  • 单引号中的Html标记ID /名称/值值

缩进:

  • 使用缩进嵌套
  • 使用echo输出HTML代码时,请使用\n进行回车和 \t用于选项卡(在双引号时 - 在linux服务器上)

类和函数:

  • 存储在单独的文件(例如include('includes/functions.php'))中 存储将在网站上使用的所有类/功能
  • 保持以下结构,以便可以在其中剪切/粘贴线条 整体

    class name {
        classproperty='value';
    
        function name ($a) {
            methodproperty='value';
        }
    }
    

外部脚本:

  • 不要将它们直接放在标题中(它会减慢页面加载速度)
  • 不要将它们放在页脚中。即使内容将是 加载,它会延迟加载状态
  • 将所有慢速脚本合并到一个外部文件中并使用 下面的代码(用脚本文件替换defer.js):

    <script type="text/javascript">
    function downloadJSAtOnload() {
    var element = document.createElement("script");
    element.src = "defer.js";
    document.body.appendChild(element);
    }
    if (window.addEventListener)
    window.addEventListener("load", downloadJSAtOnload, false);
    else if (window.attachEvent)
    window.attachEvent("onload", downloadJSAtOnload);
    else window.onload = downloadJSAtOnload;
    </script>
    

AJAX / POST / GET:

  • 在从服务器请求数据时使用AJAX
  • 将数据提交到服务器时使用POST / GET

数据库:

  • PDO连接比mysqli(程序或对象)更通用 (可以处理多种类型的数据库)
  • 使用Prepare()BindParam() / BindValue()确保免受攻击 代码插入

PHP其他:

  • 使用require_once()include_once()来节省不必要的负载 (除非使用它重新连接到数据库);
  • 单独定义子字符串,然后插入已编译的子字符串 变量回显,例如:

    foreach($users as $user) {
        $id=$user['id'];
        $value=$user['name'];
        $selected=($user['name']=$_POST['username'] ? 'SELECTED' : '');
        echo "<option id='$id' $selected >$value</option>";
    }
    

快乐的编码!

1 个答案:

答案 0 :(得分:2)

我不打算用PHP来说好编程实践,因为这个主题非常笼统,但我会就你的“优秀编程实践”分享我的看法。

双引号与单引号:

  
      
  • 带双引号的回显语句,以便可以在线解析变量(包括html标记和回车/制表符 - 但不是函数)
  •   
  • 无法确定在echo语句中解析变量是否是良好的编程习惯。这样做没有错误的方法。做你觉得最适合自己的眼睛。
  
      
  • 单引号中的Html标记ID /名称/值值
  •   
  • 我自己喜欢用双引号。

<强>缩进:

  
      
  • 使用缩进嵌套
  •   
  • 在大多数情况下,您的IDE应该处理代码格式和缩进。

外部脚本:

  • 关于JavaScript的唯一优点是将代码保持在结束<body>标记之上。如果你希望对JavaScript非常自律,我建议JavaScript: The Good Parts - JavaScript良好编程实践的圣经。

<强> AJAX / POST / GET:

  
      
  • 在从服务器请求数据时使用AJAX
  •   
  • 我不确定你认为AJAX是什么。您可以使用AJAX检索将数据发布到服务器。阅读AJAX并在形成意见之前充分理解它。
  
      
  • 将数据提交到服务器时使用POST / GET
  •   
  • 有一个原因叫它GET。它用于从服务器获取数据。请勿使用GET提交数据。

<强>数据库:

  
      
  • PDO连接比mysqli(程序或面向对象)更通用,可以处理多种类型的数据库
  •   
  • 使用Prepare()BindParam() / BindValue()确保防止代码插入
  •   
  • 如果你使用一个好的PHP框架,你不必担心你的数据层。特别是如果该框架使用ORM。

PHP其他:

  
      
  • 使用require_once()include_once()来保存不必要的加载(除非使用它重新连接到数据库);
  •   
  • require_once()include_once()存在的原因是因为有时不止一次包含脚本会导致错误。就像你有define() d个变量一样。
  
      
  • 单独定义子字符串,然后插入已编译的变量以回显,例如:
  •   
    foreach($users as $user) {
        $id=$user['id'];
        $value=$user['name'];
        $selected=($user['name']=$_POST['username'] ? 'SELECTED' : '');
        echo "<option id='$id' $selected >$value</option>";
    }
  • 这也是一个意见问题。

包装起来:

不要做先发制人的性能修复。你似乎是一个聪明的人,所以做你认为合乎逻辑的事情。编写可读和记录的代码。 使用框架。不能强调这一点。试试Laravel,Symfony,Zend。这些是主要/最受欢迎的。使用一个好的IDE。我个人最喜欢的是PHPStorm。最后但并非最不重要的是,代码。只需编写代码,创建应用程序。技能将自然地跟随,随着时间的推移,你会惊讶于你的编程有多少改进。祝你好运。