使 PHP 类更加模块化


Making a PHP class more modular

我正在尝试制作一个模块化框架。我做了很多网站,想重用很多代码。现在,我通过在我包含的单独 php 文件中制作普通函数来做到这一点。例如,我把所有的数据库函数都放在数据库中.php把所有的登录代码放在登录名中.php把所有一些字符串格式化函数放在核心中.php

核心.php功能几乎在我做的每个项目中都使用,有些具有登录功能,有些使用数据库,有些使用全部。

所以现在我有这样的东西:

<?php
   require_once('core.php');
   require_once('database.php');
   require_once('login.php');
   dbConnect('user','pw');
   loginShow();
   echo stringFunction('blabla');
?>

现在我想做得更好一点,并使用对象和类。所以我会有一个核心类、数据库类和登录类,但登录类可能还需要数据库和核心函数,但并非总是如此。

一个系统,我有:

我的框架.php:

class myFramework {
}

数据库.php:

class database extends myFramework {
}

登录.php:

class login extends myFramework {
}

索引.php:

include myframework.php
include login.php
include database.php
$site=new myFramework;

这是行不通的,因为登录函数不在myFramework中,而是在Login类中。但是$site=new Login也不起作用,因为数据库功能不在登录名中。

想要的是一个类,然后我真的可以用多个包含来扩展,并且只包含我实际需要的代码。到目前为止,我还没有找到一个好的解决方案,所以我希望在这里寻求一些建议会有所帮助。

在我看来,为此目的,您应该使用命名空间而不是类。