沃梦达 / 编程问答 / php问题 / 正文

未找到“AppHttpControllersDB"类,我也无法使用新

Class #39;AppHttpControllersDB#39; not found and I also cannot use a new Model(未找到“AppHttpControllersDB类,我也无法使用新模型)

本文介绍了未找到“AppHttpControllersDB"类,我也无法使用新模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有非常基本的问题.在 L4 中,以下方法开箱即用,所以现在我迷路了.请帮忙.几天前,我开始了一个 Laravel 5.0 项目.我现在有了全新的、干净的安装.

I have very basic problem. In L4 thes below methods worked out of the box, so now I am lost. Please help. A few days ago I started a Laravel 5.0 project. I have now fresh, clean installation.

问题 1:当我试图从数据库中获取任何东西时

Problem 1: When I try to get anything from database

$headquote = DB::table('quotation_texts')->find(176);

我明白了:

Class 'AppHttpControllersDB' not found

问题 2:在我克隆 User.php 模型之前,将类名更改为引用".App根目录下的Quotations.php文件内容如下:

Problem 2: Before I cloned the User.php Model, changed Class name to "Quotation". Below is the content of file Quotations.php put in App root folder:

<?php namespace App;

 use IlluminateDatabaseEloquentModel;

 class Quotation extends Model  {

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'quotation_texts';
}

任何使用模型的尝试

$headquote = Quotation::find(176);

最后是这样的:

Class 'AppHttpControllersQuotation' not found

有什么想法可以解决这个问题吗?

Any ideas how I could resolve the issue?

推荐答案

这里的问题是 PHP 命名空间.您需要学习如何使用它们.由于您的控制器位于 AppHttpControllers 命名空间中,如果您引用任何其他类,则需要添加前导反斜杠(或适当的命名空间)或添加 use 语句文件的开头(在类定义之前).

The problem here are PHP namespaces. You need to learn how to use them. As your controller are in AppHttpControllers namespace, if you refer any other class, you need to add leading backslash (or proper namespace) or add use statement at the beginning of file (before class definition).

所以在你的情况下你可以使用:

So in your case you could use:

$headquote = DB::table('quotation_texts')->find(176);
$headquote = AppQuotation::find(176);

或在您的控制器类中添加 use 语句,使您的控制器类的开头看起来像这样:

or add in your controller class use statement so the beginning of your controller class could look like this:

<?php

namespace AppHttpControllers;

use DB;
use AppQuotation;

有关命名空间的更多信息,您可以查看 如何使用来自其他命名空间的对象以及如何在 PHP 中导入命名空间 或 PHP 手册中的命名空间

For more information about namespaces you could look at How to use objects from other namespaces and how to import namespaces in PHP or namespaces in PHP manual

这篇关于未找到“AppHttpControllersDB"类,我也无法使用新模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:未找到“AppHttpControllersDB"类,我也无法使用新

基础教程推荐