当前位置: 首页 > 知识库问答 >
问题:

在Laravel中,我在哪里放置自定义代码

孙乐逸
2023-03-14

很好的一天,

我有一些自定义代码从以前的非mvc应用程序。这都是单元测试之类的。现在,我需要把它放在laravel应用程序中。它们不是控制器、模型或视图?这是否意味着我必须将它们与Symfony和Swiftmailer文件夹一起放入供应商文件夹?

共有2个答案

陆斌
2023-03-14

您还应该将路径添加到/start/global。php

这里有一个更完整的答案:
laravel 4助手或基本功能的最佳实践和最佳位置是什么?

夏雅志
2023-03-14

你是说定制课程吗?有时我会将一些类放在一个单独的目录中,因为正如您所说的,它们不适合模型、视图或控制器(或routes.php)。

我所做的是在app下创建一个名为的新目录。你可以给它取任何你想要的名字。然后将其添加到composer.json文件自动加载部分。

{
    "require": {
        "laravel/framework": "4.0.*",
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php",
            "app/libraries" // <---Added here
        ]
    },
    "scripts": {
        "pre-update-cmd": [
            "php artisan clear-compiled"
        ],
        "post-install-cmd": [
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev"
}

不要忘记从终端或CMD运行composer dump autoload,以更新自动加载器。

这将使自定义类自动加载,您可以在项目中随时使用它,方法是像这样调用它YourClass::yourfunction($params)

如果你更喜欢屏幕直播,我想推荐杰弗里·韦关于验证的屏幕直播。他创建了一个用于验证模型的自定义类。他还演示了如何在应用程序中全局设置自定义类。https://tutsplus.com/lesson/validation-services/

 类似资料:
  • 我试图用一些常用的函数构建一个类,我可以在项目中的任何地方使用这些函数。我不知道在哪里构建包含类的PHP文件,也不知道如何调用它们。。。谁能帮我弄清楚这些东西放在哪里?谢谢!!! /App/Http/Helpers/MyClasses.php /App/Http/Controllers/TasksController。php 这将返回:未找到类“App\Http\Controllers\Popul

  • 我正在尝试为没有它们的包装提供类型: 我在带有打字稿 2.4.2 的 webpack 中使用 ts-loader,并且在 tsconfig.json 中设置了以下类型根: 我试图模仿: < code>index.d.ts中包含以下内容: 但是错误仍然存在。我做错了什么?我应该把那些自定义的. d.ts文件放在哪里? 和任何其他类型根之间有什么区别?为什么TypeScript会区别对待它们?

  • 我正在尝试运行Phusion Passenger,这是我得到的最远的。当它在网站上加载时,它就出现了 需要“rails/all”。。。0.550s捆扎机。要求1.510s[已弃用]I18n。enforce\u available\u locales将来将默认为true。如果确实要跳过区域设置的验证,可以设置I18n。强制\u available\u locales=false以避免此消息。应用初始

  • 问题内容: 当我在其中放置bean定义时,出现一条错误消息,指示Tomcat 7无法启动,因为有一个。我将整个堆栈跟踪上传到了文件共享站点,您可以通过单击此链接来阅读。但是,当我注释掉bean定义并尝试重新启动服务器时,我收到另一条错误消息,指示没有的bean定义。您可以通过单击此链接在文件共享站点上阅读第二个堆栈跟踪。 那么我应该将bean定义放在哪里,其语法应该是什么? 我认为问题可能在于,我

  • 问题内容: 我在ASP.Net中有一个WebAPI 2.0项目,在其中实现了自定义的DefaultContractResolver,以便可以控制如何使用JSON.Net将实体序列化为JSON。但是我不确定如何告诉框架使用我的自定义实现。我也想知道是否有可能更改特定控制器/动作的ContractResolver。 谢谢! -–编辑03/07/2014我已经通过创建一个新的ConfigSettings

  • 我找不到那个方法。