Laravel模型包含多个类



我是来自Codeigntier的Laravel的新手。我正在尝试掌握Laravel使用的模型/类/雄辩的惯例。我知道我可以在数据库中制作一个名为"类别"的表。然后,我可以在我的型号文件夹中制作一个名为category.php的文件,仅包含以下代码:

Class Category extends Eloquent { }

自动与表名称与名称的复数版本("类别")连接,并让我访问控制器中所有雄辩命令,例如Category::All();

这是我不知道的:我需要为数据库中的每个表制作一个新型号吗?在这种情况下,我最终将在我的模型文件夹中使用诸如resource1.php,resource2.php等的名称中的一堆文件,每个文件都包含与上述相同的代码(替换类的名称)。

我不能只制作一个模型,说" database_handler.php",然后将所有这些类放在同一位置?

是的,您可以创建一个database_handler.php文件,然后做:

<?php
    Class Category extends Eloquent { }
    Class Post extends Eloquent { }
    Class Client extends Eloquent { }

您可以做任何PHP让您做的事情,并在单个.php文件中添加许多类是您可以做的事情。但这不是一个好习惯,Laravel就是使用最好的应用程序来开发应用程序。

要自动加载此文件,您可以做很多事情之一:

1)将此文件添加到您的应用程序/型号文件夹中。

2)在您的Composer.json上添加一个条目:

"autoload": {
    "files": [
        "app/database_handler.php"
    ]
},

然后您必须

composer dump-autoload -o

3)为其创建另一个文件夹,还将其添加到Composer JSON Autoload部分。

您选择的,Laravel将让您自由地做任何您想做的事。

最新更新