php - OOP PHP 中的文件和类结构

标签 php file structure

我对 OOP 和 PHP 也很陌生,我一直在阅读教程和书籍来掌握它的窍门。现在我正在处理一个个人项目(没有教程或书籍练习),并且我有一个关于如何组织我的类(class)和文件的问题。

我有一个database.php 文件,在其中创建与数据库的连接,并在类的 __construct 函数中调用它,如下所示:

<?php

include 'database.php';

class users {

// Database Connection
public function __construct() {
  $db = new database();
}

// the rest of my functions

?>

我遇到的问题是,在我所做的教程和练习中,只有一个类。目前在我的项目中,我有 3 个类(用户、电影和监视列表),它们都有一个 .php 文件(用户.php、电影.php 和监视列表.php)

在我的项目中的某些页面上,我需要来自所有 3 个类的数据,因此我像这样启动这些页面:

<?php
session_start();

include 'include/users.php';
include 'include/movies.php';
include 'include/watchlists.php';
$user = new users();
$movie = new movies();
$watchlist = new watchlists();

// the rest of the file

现在,对我来说很明显,当您有多个类时,这不是正确的方法,因为我连续三次创建数据库连接。

那么,在处理像我这样的项目时,如何正确管理我的类、数据库连接和 .php 文件?

您不必解释整个事情,如果您可以将我链接到一些关于此的精彩文章/教程,我将不胜感激。 (是的,我用谷歌搜索过,但找不到任何有用的东西)。

谢谢

最佳答案

如果您遵循这些简单的步骤,您将不会连续三次连接到数据库。

替换

include 'database.php'

include_once 'database.php'

并像这样编写连接代码

if(!$con) {
    $con = mysqli_connect(HOST, USER, PASS);
}

关于php - OOP PHP 中的文件和类结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652430/

相关文章:

javascript - 如何通过 URL 发送数组并在 PHP 中提取它?

php - 全部大写字母的日期格式

PHP Yield,奇怪的行为

javascript - 将 PDF 文件存储在 JS 变量中

c - 当指针出现在变量(指针*)的末尾时,这意味着什么?

c++ - 如何在结构中动态添加数据,该结构是指向指针数组的指针

c - 用C打开文件时出现段错误

c++ - C++ 中的 cout、XOR 和 fileIO 格式化问题

perl - 需要 Perl 就地编辑不在命令行上的文件

c - 如何从c中的头文件外部动态设置头文件中数组的大小?