2015-08-29 38 views
1

我介紹給爾康,一個PHP框架,按照教程:https://docs.phalconphp.com/en/latest/reference/tutorial-rest.htmlPHP,框架 - 類必須聲明爲抽象

我面臨這個問題:我在下面

代碼有此錯誤

類機器人必須聲明爲抽象或實現方法 '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請求,我得到:

無法實例抽象類機器人

任何想法?

+0

添加:使用Phalcon \ Mvc \ Model;在宣佈課程之前。 – Cerad

+0

是的,對不起,我省略了那部分。上傳了它,但問題仍然存在。 – cventr

+0

您是否從下一教程步驟定義了您的數據庫連接服務? – yergo

回答

0

您可能沒有正確設置數據庫服務。確保:

  • 服務名db(我已經改變了默認的服務名有經驗的問題)
  • 你已經在你的主要$迪設置db服務(有些人可能實例化另一個DI容器和隔離有數據庫服務)
  • 始終使用$di->setShared(...)登記服務全球

請提供更多信息,並會很樂意提供幫助。

+0

正如我之前所說的,這可能是phalcon和phpStorm之間的配置問題。包括在路徑phalcon-tools/ide/2.0.7,而不是phalcon-tools/ide/phpStorm,一切正常。 – cventr

+0

我讀過,但我幾乎不這麼認爲......'phalcon-tools/ide/2.0 .7'只是用於自動完成的存根,'phalcon-tools/ide/phpStorm'只是增加了對代碼生成的支持([更多詳情](http://stackoverflow.com/questions/12284141/how-do-i -use-多爾康-devtools-IDE-phpstorm合phpstorm/12285007))。因此,除非您使用命令行來創建模型和內容,否則這些內容不太可能與它有關...... – cvsguimaraes

相關問題