资讯专栏INFORMATION COLUMN

如何更好的组织你的Laravel模型

call_me_R / 1009人阅读

摘要:所以我决定在命名空间内组织我的模型。更新用户模型要做到这一点,你需要做的第一件事就是将模型移动到目录并相应地更新命名空间。第一个是修改这里第二个是文件修改这里最后,修改文件生成模型现在我们已经改变了模型的命名空间,但是如何生成新的模型。

我经常发现自己希望在Laravel应用程序中获得更多关于模型的结构。

默认情况下,模型位于 App 命名空间内,如果你正在处理大型应用程序,这可能会变得非常难以理解。所以我决定在 AppModels 命名空间内组织我的模型。

更新用户模型

要做到这一点,你需要做的第一件事就是将 User 模型移动到 app/Models 目录并相应地更新命名空间。

这要求你更新引用 AppUser 类的所有文件。

第一个是 config/auth.php

    "providers" => [
        "users" => [
            "driver" => "eloquent",
            "model" => AppModelsUser::class, // 修改这里
        ],
    ],

第二个是 config/services.php 文件:

    "stripe" => [
        "model" => AppModelsUser::class, // 修改这里
        "key" => env("STRIPE_KEY"),
        "secret" => env("STRIPE_SECRET"),
    ],

最后,修改 database/factories/UserFactory.php 文件:

$factory->define(AppModelsUser::class, function (Faker $faker) {
    ...
});
生成模型

现在我们已经改变了 User 模型的命名空间,但是如何生成新的模型。正如我们所知,默认情况下它们将被放置在 App 命名空间下。

为了解决这个问题,我们可以扩展默认的 ModelMakeCommand


并通过将以下内容添加到 AppServiceProvider 中来覆盖服务容器中的现有绑定:

app->extend("command.model.make", function ($command, $app) {
            return new ModelMakeCommand($app["files"]);
        });
    }
}

以上就是需要修改的。现在我们可以继续生成模型,就像我们在我们的终端中使用的一样:php artisan make:model Order,它们将位于 AppModels 命名空间中。

希望你能使用它!

更多PHP知识,可前往PHPCasts

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30737.html

相关文章

  • Laravel深入学习5 - 应用架构

    摘要:控制只是用来接收请求并请求逻辑处理类。事实上,业务逻辑无需感知网络,网络仅仅接入应用的传输机制,他不应超出应用中的路由和控制器的范畴。职责分离是编写健壮应用的关键。其他通常,类库应该以规范组织在我们的应用中。 声明:本文并非博主原创,而是来自对《Laravel 4 From Apprentice to Artisan》阅读的翻译和理解,当然也不是原汁原味的翻译,能保证90%的原汁性,另...

    lixiang 评论0 收藏0
  • 用PHP搭建自己MVC框架

    摘要:但是模型中数据的变化一般会通过一种刷新机制被公布。它处理事件并作出响应。事件包括用户的行为和数据模型上的改变。三开始开发自己的框架在开始开发前,让我们先来把项目建立好,假设我们建立的项目为,那么接下来的第一步就是把目录结构先设置好。 现如今市面上有许多PHP框架,像 ThinkPHP、YII、Laravel,那么如何自己搭建一个PHP框架呢?这里有一篇博文写的非常好,特意转载过来,供朋...

    cyrils 评论0 收藏0
  • Laravel 5.7 最佳实践和开发技巧分享

    摘要:当查询数据时,本地范围允许我们创建自己的查询构造器链式方法。这样便会知道这是一个本地范围并且可以在查询构造器中使用。某些查询构造器不可用或者说可用但是方法名不同,关于这些请查阅所有集合的方法。 showImg(https://segmentfault.com/img/remote/1460000017877956?w=800&h=267); Laravel 因可编写出干净,可用可调试的...

    ninefive 评论0 收藏0
  • Laravel中创建自己PHP帮助函数

    摘要:转至应用程序根目录中的命令行并运行以下命令以创建新的服务提供者。将会提示运行结果一旦服务提供者成功创建,打开该文件。现在我们的服务提供者已经完成,我们需要注册我们的服务提供者,所以,会在引导期间加载它。这就是为服务提供者创建你的帮手。 Laravel 为我们提供了许多内置的帮助函数,你可以在应用程序中的任何位置调用它。它们使你可以方便地处理数组和对象,路径,字符串,URL和其他类型的工...

    neu 评论0 收藏0
  • 简化你关注与点赞 - Laravel Follow & Vote

    摘要:废话不多说,下面我简单介绍一下两个包的用法吧。还有的是这里使用了,如何去理解以及更好地使用最后,当然是要感谢超哥。经讨论更名为更名为更名为更名为 showImg(https://pigjian.com/storage/post_img/2017-04-12/follow-vote.png); 本文主要介绍两个包: Laravel - Follow : https://github.co...

    CodeSheep 评论0 收藏0

发表评论

0条评论

call_me_R

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<