PHP OOP 代码运行良好。这是正确的做法吗?将来的某个版本会破坏它吗?

标签 php mysql oop

class lnemail_fetch 的代码片段

<?php  Part of heritage_classes.php
// Declare classes
class lnemail_fetch {
// return string in format "title | factoid" 
    public  $result;
    public function get_ln_info() 
    {
    include ("./includes/LOheritage-config.php");
    mysql_connect("$dbhost", "$dbuser", "$dbpass") or die(mysql_error());
    mysql_select_db("$dbname") or die(mysql_error());
      $query = "SELECT * FROM lnemail";
     $result = mysql_query($query);
         $this->result = $result;
    }
}
?>

来自较大程序的代码片段它列出了一个 MySQL 表

    require_once('./includes/heritage_classes.php'); 

    $newlnemail_fetch = new  lnemail_fetch;
     $newlnemail_fetch->get_ln_info();
     $newresult  = $newlnemail_fetch->result;
     echo  "lnemail File display  <br />"; 

      while($row = mysql_fetch_array($newresult))
        {
         echo $row['ln_email']. "  |  " . $row['ln_date'] . "  |  " . $row['ln_week'] ;
          echo "<br />";

        }

这种 PHP OOP 的使用是否被认为是好的实践,即使它现在工作得很好?

最佳答案

我会说不,这对 OOP 没有好处。

需要改进的地方:

分离数据库连接和查询内容。 分离数据库结果处理。实现可迭代的结果对象将是一个好主意。 不使用 mysql 扩展并切换到 mysqli 是一个非常好的主意。它还将免费为您提供 MySQL 的 OOP 接口(interface)。

可能应该考虑在 SQL 字符串中转义输入的方面,但这是不确定的,因为没有显示此类代码。

关于PHP OOP 代码运行良好。这是正确的做法吗?将来的某个版本会破坏它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12732870/

相关文章:

php - 如何在 PHP 和 JavaScript 中使用输入框 ID?

mysql - 在 MySQL 中存储 INSERT 的日期和时间

Python 属性错误 : type object has no attribute

c++ - 根据构造函数参数特殊实现类方法

java - 使用java在mysql中保存文件路径,我这样做对吗?

ruby - 类方法中的define_method

php - JSON 解码/编码丢失换行符/文件结构?

php - 如何将 PHP 命名空间与自动加载一起使用?

php - Facades Laravel 直接调用库

php - 在 laravel blade Laravel 5.5 中找到许多列的总值