MVC 的 PHP 简单数据库连接类

2023-12-12

我已经为简单的 MVC 模式构建了新的数据库连接类。

我需要知道这是执行此操作的正确方法。

<?php

include_once 'config.php';

class dbModel{
    private $dbSys      = "";
    private $dbHost     = "";
    private $dbUser     = "";
    private $dbPass     = "";
    private $dbName     = "";
    private con = false;

    public function __construct(){
        $this->dbSys    = DB_SYS;
        $this->dbHost   = DB_HOST;
        $this->dbUser   = DB_USER;
        $this->dbPass   = DB_PASS;
        $this->dbName   = DB_NAME;

        if (!$this->con){
            try{
                $this->con = new PDO($this->dbSys.':host='.$this->dbHost.';dbname='.$this->dbName, $this->dbUser, $this->dbPass);
                return $this->con;
            } catch (PDOException $e){
                echo $e->getMessage();
                exit();
            }
        }else{
            return $this->con;
        }
    }
}
?>

包括我配置文件将数据库配置文件作为单独的文件。 我正在项目中其他模型中的此数据库连接类创建新对象,并编写 sql 并运行查询。

我测试了这段代码,这是有效的。但我需要知道这种方法是否正确。

请让我知道这是正确的方法。


好吧,我认为这门课根本没有任何意义。以这种方式使用它的抽象漏洞太多,但它比常规 PDO 类没有任何优势。

还有一个大量无用代码:例如,您定义您的凭据三次,仅使用它们once.

错误报告也是无用且错误的。

我会把整个文件做成four仅线路

<?php
include_once 'config.php'
$pdo = new PDO(DB_SYS.':host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

但它会比你的更加灵活和防错。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 的 PHP 简单数据库连接类 的相关文章

随机推荐

  • 将java转换为c#代码的工具[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 目前将 java 转换为 c 的最佳工具是什么 除了 j2c翻译器 j 我现在用的是IKVM 供你参考 Sharpen by db4o XES 远程软件八达通 商业的 注意 我对它们
  • 如何使用 jquery 定位特定字母/单词?

    举个例子 我想应用该类 fancy to 所有出现的情况的标志 amp 在文件中 The CSS fancy font style italic 所以文本看起来像这样 Ben amp Jerry s 将被 jquery 操纵为 Ben sp
  • MATLAB 四舍五入到最接近的整数

    我有一个1x50000尺寸矩阵v我想将其转换为零均值和单位方差 x v mean v std2 v 但 MATLAB 没有给我精确的浮点值 而是将其转换为最接近的整数 请帮助我获得准确的值 检查数据类型 for v 我确信这是一个整数类型
  • 在 python 中获取 windows 版本的更好方法是什么?

    我将编写一个执行 Windows 操作系统版本检查的程序 因为我可以使用 sys windowsversion 0 或返回字符串而不是 int 的平台模块来执行此操作 那么获取 Windows 发行版本的更好方法是什么 您可以通过致电来做到
  • 以编程方式将文本大小设置为 android 中微调器中的文本

    您好 我想以编程方式 动态 设置微调器中文本的样式和大小 我在我的应用程序中没有为此使用任何资源 所以请给我一些建议 我认为您不能在不覆盖默认布局资源的行为的情况下动态创建它 要使用资源创建它 创建一个布局文件 其中包含TextView并为
  • React Native:任务:react-native-maps:compileDebugRenderscript失败

    我正在尝试实现 React NativeMapView对于安卓 我确实关注了github安装指令 但当我尝试使用运行时遇到编译错误react native run android命令 任务 react native maps compile
  • 在 emacs 终端中使用 Ctrl-X 命令?

    当我在 emacs 中运行终端时 使用M x term 我似乎无法使用以C X 比如说C x o切换窗格或C x C c退出 相反 终端本身似乎正在接收这些C x信号 相比之下 C c命令由 emacs 本身接收 我怎样才能改变这种行为 t
  • 火狐浏览器扩展无法工作

    我已经创建了一个 Firefox 扩展 但无法使用它 什么也没有发生 有人知道为什么吗 模块层次结构 我的火狐扩展 chrome manifest 安装 rdf chrome content 语言环境 html 覆盖 js 样本 xul 代
  • 使用 Rails 中的辅助方法向 HAML 标记添加动态属性

    所以我想出了一种方法来做到这一点 但是有没有更简单的方法呢 我想要做的只是在 th 标记之后添加 class 如果 params sort sortBy 我真的需要在辅助方法中包含 HAML 的其余部分吗 这是我的 helper rb 文件
  • Twisted Python:无法写入正在运行的生成进程

    我的问题是 在生成进程后 子进程正在循环以从其标准输入获取数据 我想使用 Echo Process pipes 0 write data 或 Echo Process writeToChild 0 data 向其写入新数据 但两者都不起作用
  • 无法使用 virtualenv 运行 Apache2

    我正在制作一个基于 Django 的网站 在服务器上安装了 Python 3 5 但我的项目需要 Python 3 6 我决定使用 virtualenv 我成功安装了所需版本的 Python 但无法使其与 Apatche2 一起使用virt
  • ruby 1.9 和rails 的soap 客户端

    到目前为止 我使用soap4r 作为 Ruby 1 8 x 的 SOAP 客户端 但现在我正在转向 Ruby 1 9 x 不幸的是 soap4r 不能与 Ruby 1 9 x 一起工作 我只是得到了 无效的多字节转义 这似乎无法解决 主要是
  • 如何连接派生表?

    sql语句是这样的 select posts id posts title from posts inner join select distinct post id created at from comments order by cr
  • 是否可以即时更改 PrimeFaces 主题?

    我有一个多租户系统 用户签名后将在应用程序中拥有自定义主题 我想知道是否可以在用户签名后 动态 更改主题 我是 Primefaces 的新手 感谢您的帮助 Primefaces 已经实现了 jQuery UI主题滚轮 在你的 web xml
  • 从分叉创建新的拉取请求,而无需提交前一个分叉

    因此 我对其他人的存储库进行了一些提交 然后提交了相同的拉取请求 我的旧拉取请求尚未合并 现在我需要提交一个新的拉取请求 而不需要以前的提交 但要对我的分叉进行新的更改 我需要我的旧拉取请求及其提交也留下来 我怎样才能做到这一点 要真正理解
  • Nginx 自动将 HTTP 重定向到 HTTPS

    我正在尝试重定向我的所有流量http to https自动地 如何对我的所有域和子域进行 301 重定向 这是 NGINX 配置文件 upstream app server server unix run DigitalOceanOneCl
  • 为什么 SQL Server 将 SS 视为 Umlaut-S (ß)?

    当我运行以下查询时 select charindex COMMISSIONING 它返回 6 我专门选择 作为函数 因为我认为它不太可能出现在我的任何数据中 这几周工作得很好 但现在突然它在没有 的地方检测到 因此搞砸了我的功能 有人可以告
  • 重命名列后出现 keyerror

    I have df df pd DataFrame a 7 8 9 b 1 3 5 c 5 3 6 print df a b c 0 7 1 5 1 8 3 3 2 9 5 6 然后将第一个值重命名为this df columns valu
  • “git push appengine master”中需要用户名和密码

    这是我第一次使用 Google App Engine 我正在尝试上传 PHP 网站 我正在尝试使用 git 上传它 我遵循了他们的教程 最后他们说要输入这段代码 所以我就这么做了 我尝试在 git bash 中输入这段代码 这是代码 git
  • MVC 的 PHP 简单数据库连接类

    我已经为简单的 MVC 模式构建了新的数据库连接类 我需要知道这是执行此操作的正确方法