php中的抽象函数
我有下面几个PHP类:php中的抽象函数,php,Php,我有下面几个PHP类: class CWebApplication extends CApplication { //... public function processRequest(){ //... } 及 但它报告了以下错误: Fatal error: Class CWebApplication contains 1 abstract method and must therefore be declared abstract or implement the remain
class CWebApplication extends CApplication {
//...
public function processRequest(){
//...
}
及
但它报告了以下错误:
Fatal error: Class CWebApplication contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (CApplication::processRequest) in /Users/nram/Sites/ryl/framework/web/CWebApplication.php on line 10
我看到你的密码了
在这方面,
RYL master\framework\web\CWebApplication.php
实际上是
RYL master\framework\base\capapplication.php
从这里开始
<?php
/**
* CWebApplication class file.
*
* @author Nuno Morais <nram@nuno-morais.eu>
*
*/
abstract class CApplication extends CModule {
private $_basePath;
abstract public function processRequest();
不确定。。。您要做的事情在php中肯定会如预期的那样起作用。你的设置中一定有东西。。。可能定义classcapapplication
的文件a)未保存或b)存在于不同版本中?也许“CWebApplication::processRequest”的实现不可见,也许是由于条件错误或语法错误而隐藏的?如果你把一个语法错误放在里面怎么办?@KevinBrydon为什么这很重要?@arkascha答案可能就在那里。是否在CModule中有另外一个带有不同参数的processRequest
方法?谁知道呢。NRAMs的第一步可能是注释掉抽象的processRequest
方法,以确认错误仍然存在。如果CModule
中定义了processRequest
的第二个版本,则错误消息将引用该函数。。。但你是对的,这当然也值得记住这门课。啊哈!这意味着不会解释您的方法CWebApplication::processResult
!所以问问你自己:为什么不呢?很有可能它被隐藏了。。。也许类定义是封闭的?通常发生在压痕级别被损坏时。。。
<?php
/**
* CWebApplication class file.
*
* @author Nuno Morais <nram@nuno-morais.eu>
*
*/
abstract class CApplication extends CModule {
private $_basePath;
abstract public function processRequest();