我想知道为什么我们在php中使用类。我在所有开源中看到他们使用类来执行查询。这意味着他们使用类来获取结果,插入查询等。我认为这用于一致性和加速,但据我所知,如果我们使用mysql_query()
执行查询,而不是创建对象链接$db->query
将与第二个相比,执行速度快,因为在对象中它将转到函数然后在那里执行它,之后它返回结果但是在mysql_query()
的情况下它将在同一个地方执行查询。所以我认为mysql_query()
会快速执行。那么为什么我们使用类和对象来执行查询,使用类有什么好处?
答案 0 :(得分:12)
答案 1 :(得分:4)
使用类或OOP(面向对象编程)的原因有很多。
还有很多原因,你应该只查看使用OOP的优点/缺点。
答案 2 :(得分:2)
我的时间
$db->query()
mysql_query()
几乎是一样的。
我们不使用类来更快地执行代码,而是组织它们。
随着您的项目变得越来越大,您将无法管理代码。
如果你反对,那么你可以实例化那个对象并再次使用它们,除此之外你的代码也不太可能与其他人混淆。
面向对象编码方式是优雅地管理代码并因此产生更好结果的最简单和最佳实践。
答案 3 :(得分:2)
当我们使用mysql_query()
时,您必须先使用mysql_connect()
和mysql_select_db()
连接到数据库。
每次你花费mysql_connect()
费用
因此,您将进行一次mysql_connect()
并保存$link
。并为每个mysql_query("...", $link)
在对象中它是相同的但是你更优雅的是你创建了一个类的实例(因此它创建了一个与DB的连接)并使用该对象有一个链接。
如果您更改了数据库密码,您将在课堂上更改一次。
如果您为PostgreSQL更改MySQL,您将在课堂上重写一次代码。它不会影响您应用的其余部分。
答案 4 :(得分:0)
正如@frbry所说,我们使用类进行抽象。需要抽象来管理和降低复杂性。当你能够“抽象”操作和数据时,你可以专注于其他事情,而不是在做其他事情时考虑“孤立和抽象”事物的实现。
它还有助于在将来更改系统,同时对代码的其他部分产生较小的影响,并再次降低系统的复杂性。
有一个非常好的麻省理工学院讲座,从1986年开始,通常是关于LISP编程,但是它也很好地描述了为什么你需要在程序中抽象东西(或者他们称之为黑盒子) - 他们提出的是软件发展就是要降低复杂性。