我正试图获取我网站的公开版本。 我可以连接到该页面。路由正在运行。
该应用正在使用API,这就是错误:
ErrorException in Transformer.php line 16:
Runtime Notice: Static function App\Transformers\Transformer::transform() should not be abstract
变压器的调用方式如下:
FeedTransformer::transformCollection( $userFeed )
这是如下所示:
FeedTransformer.php
<?php
namespace App\Transformers;
use App\Story;
use App\Post;
use Illuminate\Database\Eloquent\Model;
class FeedTransformer extends Transformer {
public static function transform(Model $item, $args = [ ]) {
$return = array();
if ($item instanceof Story) {
$return = StoryTransformer::transform( $item, [ 'level' => 'story' ] );
}
if ($item instanceof Post) {
$return = PostTransformer::transform( $item, [ 'level' => 'posts' ] );
}
return $return;
}
}
和Transformer.php
<?php
namespace App\Transformers;
use Illuminate\Database\Eloquent\Model;
abstract class Transformer {
public static function transformCollection($items, $args = []) {
foreach ($items as $item) {
array_push( $var, static::transform( $item , $args) );
}
return $var;
}
public static abstract function transform(Model $item,$args = []);
}
所以我不完全确定为什么这会导致我的服务器出错而不在我的localhost开发中
任何人都知道为什么会抛出这个错误?
答案 0 :(得分:0)
可以在不创建对象实例的情况下调用静态函数,因此不应将静态方法声明为抽象。
如果要声明类必须实现哪些方法,可以使用Interfaces。
编辑:否则,您必须在没有Abstract
字的情况下声明您的课程。