首次在PHP中创建类OO
好的,这是一个非常非常新的问题,但我已经在谷歌上搜索并尝试了几种不同的方法,但没有运气。我第一次用PHP制作一个类。我正在创建一个简单的类,它将查询一封发送到数据库的电子邮件,并返回该数据库中是否存在该电子邮件。这是我如何上这门课的首次在PHP中创建类OO,php,Php,好的,这是一个非常非常新的问题,但我已经在谷歌上搜索并尝试了几种不同的方法,但没有运气。我第一次用PHP制作一个类。我正在创建一个简单的类,它将查询一封发送到数据库的电子邮件,并返回该数据库中是否存在该电子邮件。这是我如何上这门课的 <?php class isEmailUnique{ private $email; include '../dbc/DBC.php'; $collection = $db->members; $ifEmailRaw =
<?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;
}
}
?>
我想要的结果是它返回1或0
我知道这可能很容易,我只是不知道如何构造一个类,我很难理解我读过的几篇文章。这方面的任何帮助都会很棒!感谢您抽出时间阅读此文章 这不是上课的方式。下面是代码的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!';
}
?>
您的定义是类和函数的(非法)混合体。查看如何在类中定义成员函数。作为提示,出错的行必须看起来更像这样,因为您的类现在已定义: echo isEmailUnique->check('text@test.com'); …其中check()是您定义的成员函数。也许你的意思更像这样: 回显您的类名称->isEmailUnique('text@test.com');
…当前类名实际上是类中的函数名…您是否遵循了教程?看起来你只是在猜测。阅读您所拥有的,在没有特定上下文的情况下,类定义中有几个语句。除了
私人$email代码>,其他所有内容都属于某些分类的类方法。但具体的位置取决于您试图实现的目标。以下是我想了解的,变量“$db”从何而来?为什么总是有这个函数“u construct()”?谢谢你这么多的回答顺便说一句@user2287474\u构造
在使用新类()时立即被调用代码>。然后它将$this->db
(参考private$db
)设置为new DBC()
(或者您创建数据库对象的方式),当您想要引用$db
变量时,您可以在保存它时使用$this->db
。这是从来没有人向您解释过的。完全有道理。我真的需要一点解释。非常感谢你!堆栈溢出在5分钟内不会让我接受答案,5分钟后见!是的,那就是我遇到麻烦的地方。通常我只使用一个函数,但因为我想封装某些东西,比如include'../dbc/dbc.php'代码>我需要使用一个类,我只是不知道如何在PHP中实际使用一个。谢谢你的回复!
Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ',' or ';' in /var/www/partycloud.tv/public_html/php/test.php on line 5
<?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!';
}
?>