好吧,这是一个非常非常新手的问题,但是我用谷歌搜索并尝试了几种不同的方式来做这件事而没有运气。我第一次用PHP编写课程。我正在创建一个简单的类,它将查询到DataBase的电子邮件,如果该数据库中存在电子邮件,它将返回。这就是我上课的方式。
<?php
class isEmailUnique{
private $email;
include '../dbc/DBC.php';
$collection = $db->members;
$ifEmailRaw = $collection->find(array('eMail' => $email));
$ifEmail = $ifEmailRaw -> count();
if($ifEmail > 0){
return false;
}
else{
return true;
}
}
?>
以下是我使用该课程的方式:
<?php
include 'classes/checkEmailIsUnique.php';
echo isEmailUnique->'text@test.com';
?>
这是我的错误:
Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ',' or ';' in /var/www/partycloud.tv/public_html/php/test.php on line 5
我想要的结果是返回1或0.
我知道这可能很容易,我只是不知道如何构建课程,我很难理解我读过的几篇文章。任何帮助都会很棒!感谢您抽出宝贵时间阅读本文!
答案 0 :(得分:2)
这不是班级的工作方式。以下是代码的OOP版本的示例:
<?php
class EmailHelper {
private $db;
public function __construct() {
include '../dbc/DBC.php';
$this->db = new DBC();
}
public function IsUnique($email) {
$collection = $this->db->members;
$ifEmailRaw = $collection->find(array('eMail' => $email));
$ifEmail = $ifEmailRaw->count();
return ($ifEmail <= 0);
}
public function IsValid($email) {
/* Logic */
}
public function IsFromDomain($email, $domain) {
/* Logic */
}
}
$emailHelper = new EmailHelper();
if ($emailHelper->IsUnique('text@test.com')) {
echo 'Unique!';
}
?>
答案 1 :(得分:1)
你的定义是类和函数的(非法)混合。查找如何在类中定义成员函数。作为一个提示,错误的行必须看起来更像这样,因为你的类现在被定义了:
echo isEmailUnique-&gt; check('text@test.com');
...其中check()是您定义的成员函数。可能你的意思是这样的:
echoYourYourClassNameIs-&gt; isEmailUnique('text@test.com');
...当前的类名实际上是类中的函数名...