현재 PHP를 배우고 있지만 문제가 있습니다.다른 파일의 정의 된 PHP 클래스가 작동하지 않습니다.
나는 이벤트를 만들고 이름, 날짜, 설명 및 가격을 설정/가져올 수있는 클래스가 있습니다. 현재 "class_lib.php"라는 파일에 있습니다.
<head>
</head>
<body>
<div id="content">
<?php include 'class_lib.php'; ?>
<?php
$event = new Eventitem();
$event->setName("Some Event");
echo $event->getName();
?>
</div>
</body>
<footer>
</footer>
:
<?php
class Eventitem
{
private $eventName;
private $eventDate;
private $eventDesc;
private $eventPrice;
function __construct()
{
$this->eventName = "BLANK";
$this->eventDate = "January 1";
$this->eventDesc = "...";
$this->eventPrice = "$0.00";
}
public function setName($name)
{
$this->eventName = $name;
}
public function getName()
{
return $this->eventName;
}
public function getDate()
{
return $this->eventDate;
}
public function getDesc()
{
return $this->eventDesc;
}
public function getPrice()
{
return $this->eventPrice;
}
}
?>
이제 "blank.php"라고 내가 테스트 베드로서 사용하고 다른 파일에, 나는 클래스를 정의하고에서는 setName과 getName 메소드를 사용하려고
그러나 실행하면 아무것도 표시되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
'필수'를 '요구'로 변경하십시오. 스크립트가 넘어지지 않습니까? – Scoots
여전히 비어 있습니다. 넘어져서 무엇을 의미합니까? –
이 클래스는 컴파일되지 않습니다. 인스턴스 속성은 PHP 4에서'var'을 사용하지만 PHP 5부터는 '[public],'protected' 또는'private'을 사용하여 선언해야합니다 (http://php.net/manual/en/language). oop5.visibility.php). 'var'을 제거하십시오. 또한 모든 메소드 (생성자 포함)의 가시성을 선언하는 것이 좋습니다. 기본 가시성이 '공개'이므로 코드에 필요하지 않으며 필요하지 않습니다. 그러나 일관성을 유지하고 모든 메소드의 가시성을 선언하는 것이 좋습니다. – axiac