这是一些代码。我从php选集第1部分开始。它是php 4代码,因此使用类名构造函数。
要实验我删除了构造函数,但它返回了相同的结果。 那么为什么我在没有它的情况下得到相同的结果时会使用构造函数? 抱歉我的英文。
<?php
// Page class
class Page {
// Declare a class member variable
var $page;
// The constructor function
function Page()
{
$this->page = '';
}
// Generates the top of the page
function addHeader($title)
{
$this->page .= <<<EOD
<html>
<head>
<title>$title</title>
</head>
<body>
<h1 align="center">$title</h1>
EOD;
}
// Adds some more text to the page
function addContent($content)
{
$this->page .= $content;
}
// Generates the bottom of the page
function addFooter($year, $copyright)
{
$this->page .= <<<EOD
<div align="center">© $year $copyright</div>
</body>
</html>
EOD;
}
// Gets the contents of the page
function get()
{
return $this->page;
}
}// END OF CLASS
// Instantiate the Page class
$webPage = new Page();
// Add the header to the page
$webPage->addHeader('A Page Built with an Object');
// Add something to the body of the page
$webPage->addContent("<p align=\"center\">This page was " .
"generated using an object</p>\n");
// Add the footer to the page
$webPage->addFooter(date('Y'), 'Object Designs Inc.');
// Display the page
echo $webPage->get();
?>
答案 0 :(得分:1)
将字符串连接到page
实例var。在构造函数中,将其设置为空字符串。如果删除构造函数$this->page
,则为NULL
但仍然
NULL."some string"
也适用于php。
这就是为什么你得到相同的结果。
TL; DR
你的特定构造函数是无用的。
答案 1 :(得分:0)
我并不完全理解你的意思,但是对于我的理解,构造函数是用于创建类的。但是您不需要每次都创建构造函数,因为它具有默认值。 创建新类时,默认构造函数是空构造函数(不包含参数)
但是如果你想创建包含参数的类,比如你想创建通过URL发起的网页类,那么你可以创建这样的构造函数
class Page {
// Declare a class member variable
var $page;
// The constructor function
function Page($url)
{
......
}
}
像这样的东西