PHP,框架 - 必须将类声明为abstract

时间:2015-08-29 18:17:22

标签: php http model phalcon

我正在通过以下教程向Phalcon(一个php框架)介绍:https://docs.phalconphp.com/en/latest/reference/tutorial-rest.html

我遇到了这个问题:我在下面的代码中出现此错误

  

类机器人必须声明为抽象或实现方法   'getConnectionService(),setForceExists()等..'

<?php

use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Message;
use Phalcon\Mvc\Model\Validator\Uniqueness;
use Phalcon\Mvc\Model\Validator\InclusionIn;

class Robots extends Model{


public function validation()
{
    // Type must be: droid, mechanical or virtual
    $this->validate(
        new InclusionIn(
            array(
                "field"  => "type",
                "domain" => array(
                    "droid",
                    "mechanical",
                    "virtual"
                )
            )
        )
    );

    // Robot name must be unique
    $this->validate(
        new Uniqueness(
            array(
                "field"   => "name",
                "message" => "The robot name must be unique"
            )
        )
    );

    // Year cannot be less than zero
    if ($this->year < 0) {
        $this->appendMessage(new Message("The year cannot be less than zero"));
    }

    // Check if any messages have been produced
    if ($this->validationHasFailed() == true) {
        return false;
    }
}
} 
?>

即使我尝试执行HTTP请求,我也会得到:

  

无法实例化抽象类机器人

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可能没有正确设置数据库服务。确保:

  • 服务名称为db(我在更改默认服务名称时遇到问题)
  • 您已在主要$ di 中设置db服务(有些可能会实例化另一个DI容器并在那里隔离数据库服务)
  • 始终使用$di->setShared(...)注册全球服务

请提供更多信息,并乐意提供帮助。