在使用抽象时,我在laravel控制器中遇到错误

代码示例

use App\Product; (=> abstract class Product{})

class ProductController extends Controller
{

new Product();  // here error
}
.....


error at new Product();

推荐答案

您不能直接从控制器中的抽象类创建对象(new Product();),因为抽象类的作用类似于应遵循 struct 的其他类的模板,如果需要,则创建并使用抽象类的新类,以创建可以使用的对象,如下所示.

例如:

将您的 abstract class Product{}更改为

abstract class AbstractProduct
{

    public function __construct()
    {
        
    }
}

然后创建一个扩展AbstractProduct的单独类

class Product extends AbstractProduct
{
    public function requiredFunction()
    {
        
    }
}

然后使用你的方法;一定要按照你的要求使用

use App\Product;

class ProductController extends Controller {

    new Product(); 
} 

Php相关问答推荐

在PHP中结合每周日程安排和特殊日子查找下一个可用日期

用户信息更新期间Laravel邮箱验证问题

Laravel—通过单击处理多条路由

按制造商、型号和年份范围判断数据的存在性

我的docker—compose lamp stack在软件更新后不工作:Containerconfig错误'''

PHP如何将ARRAY_MAP与Reset()配合使用

在WooCommerce我的帐户部分添加带有自定义链接的自定义菜单项

基于不用于变体的产品属性隐藏多个WooCommerce发货方式

如何从Laravel中的Spatie\Dns\Records\A对象中提取IP地址

使用CODIGNITER3中的OR和AND子句进行查询

对表示大小的值后缀进行自定义排序(XXS、XS、S、M、L、XL、XXL)

dyld[45923]:未加载库:/usr/local/opt/libavif/lib/libavif.15dylib

Woocommerce API - 图像问题

将图像作为 PHP post 响应发送到浏览器

PHP 在数组中搜索值

循环中未序列化数组显示的问题

正则表达式请帮我从内容中找到这个词

如何使用动态变量定义 bind_result?

在 WordPress 中使用 $wpdb 运行 MySQL 事务是否安全?

Laravel 查询关系是否为 bool