我是来自Codeigntier的laravel新手。我试图掌握Laravel使用的模型/类/雄辩的约定。我知道我可以在我的数据库中创建一个名为“类别”的表。然后我可以在名为category.php的models文件夹中创建一个文件,其中只包含以下代码:
Class Category extends Eloquent { }
使用复数版本的名称(“categories”)自动连接表名,并允许我访问控制器中的所有Eloquent命令,如Category::All();
这是我没有得到的:我是否需要为数据库中的每个表创建一个新模型?在这种情况下,我将在我的models文件夹中找到一堆文件,其名称如resource1.php,resource2.php等,每个文件只包含与上面相同的代码(替换类的名称)。
我不能只创建一个名为“database_handler.php”的模型,然后将所有这些类放在同一个地方吗?
答案 0 :(得分:2)
是的,您可以创建database_handler.php
文件并执行:
<?php
Class Category extends Eloquent { }
Class Post extends Eloquent { }
Class Client extends Eloquent { }
你可以做任何PHP让你做的事情,并且可以在单个.php
文件中添加许多类。但这不是一个好的做法,Laravel就是用最好的方法开发应用程序。
要自动加载此文件,您可以执行以下操作之一:
1)将此文件添加到您的app / models文件夹中。
2)在你的composer.json上添加一个条目:
"autoload": {
"files": [
"app/database_handler.php"
]
},
然后你必须
composer dump-autoload -o
3)为它创建一个不同的文件夹,并将其添加到composer json自动加载部分。
你选择,Laravel会让你自由地做你想做的事。