到目前为止,我只在php中使用了函数(),而且我对它很有帮助。在过去的几天里,我正在学习课程,因为我对此一无所知。在阅读了SO,php手册和其他教程中的大量信息后,我有点了解类,属性和方法的概述。但是,我仍然对如何使用它们感到困惑。
举一个例子,假设这些是我的atm功能:
function validate_text($xyz)
{
$xyz = trim($xyz);
$xyz = htmlspecialchars($xyz);
return $xyz;
}
function validate_checkbox($values,$db)
{
$stmt = $db->query("SELECT values FROM checkbox_info_table");
foreach ($stmt as $row)
{
$result_values[] = $row['value'];
}
$filteredData = array_intersect($checkboxValues, $result_values);
return $filteredData;
}
function fetch_checkbox($type,$db)
{
$stmt = $db->query("SELECT * FROM checkbox_info_table WHERE type=$type");
foreach ($stmt as $row)
{
$row_id[] = $row['id'];
$row_type[] = $row['type'];
$row_values[] = $row['value'];
$row_description[] = $row['description'];
}
return array($row_id, $row_type, $row_values, $row_description);
}
etc...etc..
然后我将这些函数称为:
$name = validate_text($_POST["name"]);
$nickname = validate_text($_POST["nickname"]);
$carscheckbox = validate_checkbox($_POST['cars'], $db);
$bikescheckbox = validate_checkbox($_POST['bikes'], $db);
$planecheckbox = validate_checkbox($_POST['planes'], $db);
$fetch_checkbox = fetch_checkbox($type, $db); //then storing the fetched array values to variables
etc..etc..
我的问题是:
1)我何时决定使用类而不是函数的位置以及何时不使用类?
2)如果我在上面的例子中使用类代替函数会有什么好处?例如,上面例子中函数的使用本身就很容易。如果我将它们替换为课程,我将如何受益?
3)我总是更喜欢使用类而不是函数,或者每种函数都有它的优点和缺点吗?
4)有没有正确的方法来接近课程?人们通常如何决定?
5)函数和类之间的性能是否存在差异?
如果你可以进一步扩展这一点而不仅仅基于这个例子,那么我的学习曲线也会有所帮助。
答案 0 :(得分:1)
类文件夹中名为 confirm.php的页面中的类的示例:
class Category {
function get_category($link) {
//rest of code
}
}
当您想在另一个.php文件中使用方法时,这非常有用。
例如,在php文件的顶部:
include 'class/confirm.php';
$category = new Category();
用法:
$type = $category->get_category(link);
通过这种方式,您可以确保您的课程干净,简单且易于维护。而不是将所有代码和功能集中在一个地方(更难阅读)。
此外,类通常意味着某些东西,或者可以用作其他东西的实用程序,例如仅在需要时使用类中的特定函数。您可以将其视为在任务之间建立关系和可靠性。