所以有一些很棒的反馈,回过头来仔细阅读OOP。你会说这是正确的吗?我在index.php中设置变量你可以使用pdo查询数据库来获取用户数据,然后说出循环对象吗?
的index.php
<?php
// This is where you could query the db?
$firstname = "Vaughan";
$lastname = "Slater";
$age = 20;
// Create two new users
$user1 = new user($firstname, $lastname, $age); // From variables
$user2 = new user("Tom", "Jones", 41); // Static set
// Output new users & could you then loop this to pull a list of users from a query
echo print_r($user1, TRUE);
echo print_r($user2, TRUE);
?>
class.php
class user
{
private $_firstname;
private $_lastname;
private $_age;
public function __construct($firstname, $lastname, $age)
{
$this->_firstname = $firstname;
$this->_lastname = $lastname;
$this->_age = $age;
}
}
我认为我正在取得进步,只是想确保我再次做错了。这让我想起了html和css之间的关系。
答案 0 :(得分:1)
基础已经布局,但现在是复杂的部分。
您必须查询数据库。你会得到一个集合来循环。对于您获得的每个项目,您必须将数据复制到对象中并将它们放在一个集合中(例如,数组):
$users[] = new user($row['firstname'], $row['lastname'], $row['age']);
请注意,您可以使用`pdo_mysql'指示直接获取对象而不是行,以便自动完成复制。
接下来,您将遍历已构建的集合并进行渲染。 这些段落不是必需的,您可以直接呈现数据库查询结果。
这是指向wiki的快速指针,显示如何使用pdo_mysql。
如果你想对应用程序进行分层,你将不得不做这些段落,这是一个很好的(最好的)练习。
这样,每个周期都将在不同的层次完成,数据从一个层传递到下一层:
persistence (queries DB and populates $users[] array)
|
v
business (process data according to business logic)
|
v
presentation (render the results in HTML)
从上到下是数据通过层次的方式。
但是,通常情况下,地层以完全相反的方式(从下到上)显示。