我并不想创建一个关于单比静态比全球要好,等我看了几十个关于SO类似问题的问题,但我不能想出一个回答这个具体问题更好的讨论,所以我希望有人可以用一个(或多个)真实的简单例子来回答这个问题,而不仅仅是理论上的讨论.
在我的应用程序中,我有一个典型的DB类来抽象数据库层并在数据库上执行任务而无需在代码中随处写入mysql_connect / mysql_select_db / mysql...
我可以把这个类写成静态类:
class DB
{
private static $connection = FALSE; //connection to be opened
//DB connection values
private static $server = NULL; private static $usr = NULL; private static $psw = NULL; private static $name = NULL;
public static function init($db_server, $db_usr, $db_psw, $db_name)
{
//simply stores connections values, without opening connection
}
public static function query($query_string)
{
//performs query over alerady opened connection, if not open, it opens connection …Run Code Online (Sandbox Code Playgroud) 我正在开发一些项目.我想控制不同的错误.我知道在所有流行的框架和php项目中都有不同的异常.但我认为这不是必需的工作.如果发生错误,我们可以使用我们的消息制作die().1.例外的主要优点是什么?2.我可以用die()控制我的错误吗?
谢谢.
我已经编写了程序PHP大约8年,最后我开始学习OOPHP.我已经阅读了很多教程,并且我理解语法并且使用它非常舒服.但是,我找不到的是一个如何设置类文件结构的实际示例,以及如何从类中访问我的数据库以在其中执行查询.
我最初的想法是创建一个名为/ class的单独文件夹,并为每个类创建一个文件.如果一个类扩展了另一个类,我会将include()子文件中的父文件.在我的主要脚本中,我会调用类,因为我需要它们.例如,include(/class/member.php)当我需要他们成员班.
另外,我写了一个扩展mysqli的数据库类(我知道很多人会建议我使用PDO,如果你有一些理由为什么随意提供它们,虽然我会说我不希望永远不使用MySQL) .真正让我失意的部分是如何在我的课程中打开数据库连接.例如,我的想法是在我将传递的成员类中member_id,然后我将在类中执行查询以将其所有属性设置为成员的属性.最初我在我的主脚本中包含了数据库类并创建了它的实例,然后在我的成员类中将句柄声明为全局(我已经读过全局变量是邪恶的,我还是不喜欢那个解决方案).有什么更好的方法呢?
谢谢你的帮助!