私は単純なプロジェクトに取り組んでおり、PHP Object Orientedを使用しています。基本的には、MySQLデータベースからデータを取得してページに表示する方法についての情報を含むクラスがあります。私は、予期せぬ構文エラーです。 ' PHPのOOP
<?php if ($dataSet->welcomeMessage()== 0){
echo "
<li class='dropdown messages-menu'>
<!-- Menu toggle button -->
<a href='#' class='dropdown-toggle' data-toggle='dropdown'>
<i class='fa fa-envelope-o'></i>
<span class='label label-success'>1</span>
</a>
<ul class='dropdown-menu'>
<li class='header'>You have one new message</li>
<li>
<!-- inner menu: contains the messages -->
<ul class='menu'>
<li><!-- start message -->
<a href='message.php?msg=".$dataSet->msg();."'>
<div class='pull-left'>
<!-- User Image -->
<img src='dist/img/user2-160x160.jpg' class='img-circle' alt='User Image'>
</div>
<!-- Message title and timestamp -->
<h4>
Support Team
<small><i class='fa fa-clock-o'></i>Just now</small>
</h4>
<!-- The message -->
<p>Welcome to your admin panel</p>
</a>
</li>
<!-- end message -->
</ul>
<!-- /.menu -->
</li>";
}
?>
しかし、私はそれを実行するたびにこのクラスはadmin.php
と呼ばれ、このように書きされています
<?php
class Admin{
private $db,$username,$password,$id,$group,$Datetime,$msg;
public function __construct()
{
$this->db = new Connection();
$this->db = $this->db->dbConnect();
}
public function getAdmin($name)
{
if(!empty($name))
{
$adm = $this->db->prepare("select * from admins where username=?");
$adm->bindParam(1,$name);
$adm->execute();
while($row = $adm->fetch())
{
$this->id = $row['id'];
$this->username = $row['username'];
$this->password = $row['password'];
$this->group = $row['group'];
$this->Datetime = $row['date_joined'];
$this->msg = $row['welcome_message'];
}
}
}
public function getID()
{
return $this->id;
}
public function getUsername()
{
return $this->username;
}
public function getPassword()
{
return $this->password;
}
public function getGroup()
{
return $this->group;
}
public function gtDate()
{
return $this->Datetime;
}
public function welcomeMessage()
{
return $this->msg;
}
}
?>
はその後dashboard.php
と呼ばれる別のページに、私はこのクラスファイルを含めると、これをコード化していますこのエラーメッセージが表示されます。
構文エラー:予期しない '。'
dasboard.phpでライン15にここでdasboardファイルの15行目です:これは間違った連接に関連し、Iながら、HTMLタグ内にクラスメソッドを組み合わせなければならないことを
<a href='message.php?msg=".$dataSet->msg();."'>
かなり確信してステートメントをエコーしています。
これを行う正しい方法は何ですか?
次に、致命的なエラーを返します。未定義のメソッドAdmin :: msg()を呼び出します。しかし、それはコード – drousiodrawr
で見ることができるように正しく定義されています。定義されていないことがわかります。あなたは 'welcomeMessage()'というメソッドを呼びたいかもしれません。また、PHPの引用符でHTMLをエコーする理由は、単純なHTMLを出力するだけです。もう一つのこと:このクラスにはさまざまな責任のためのコードが含まれています。あなたはこれらの懸念を分離する必要があります。 – JasonK
エラーは「;」です。また、 'msg'はメソッドではなくプライベートプロパティです。 –