Laravel 5 命名空间

2024-06-19

我刚刚下载了 Laravel 5 并开始迁移到它。但是,我发现需要使用命名空间really恼人的。

除了让我的代码变得混乱之外,我觉得我没有从中得到太多东西。

如何禁用命名空间要求?


我认为您不应该禁用或删除名称空间。命名空间的主要原因是避免与同名的类发生冲突。一旦应用程序变得更大,您就会拥有同名的类。框架来源的示例:

Illuminate\Console\Application and Illuminate\Foundation\Application

两者的称呼是一样的。仅由于命名空间,您才能导入正确的类。当然你也可以命名它们:

ConsoleApplication and FoundationApplication

但是,虽然命名空间通常仅在在文件顶部导入类时使用:

use `Illuminate\Console\Application`

该名称本身在代码中随处使用。类名太长,这确实会让你的代码变得混乱。

除了命名之外,命名空间还鼓励更好的结构并帮助了解文件的位置。那是因为 Laravel 的默认结构是PSR-4符合。这意味着如果你有一个控制器App\Http\Controllers\HomeController你可以肯定你会找到一个HomeController.php under app/Http/Controllers.

我知道这一点,但在我正在从事的项目中不需要它。

也许这对当前项目没有意义,但习惯命名空间将帮助您处理未来更大的项目

作为 Sublime Text 用户,它没有自动导入功能,这真的很痛苦

我不太了解 Sublime Text,但是英特尔代码 https://github.com/SublimeCodeIntel/SublimeCodeIntel可能有自动导入。否则请考虑切换到另一个编辑器/IDE。我强烈推荐 JetBrains PhpStorm


最后,如果您仍然不想使用命名空间,请继续使用 Laravel 4 或搜索另一个遵循不太好的实践的框架......


从应用程序类中删除命名空间

虽然完全不建议这样做,但至少可以删除应用程序中的一些命名空间。

例如默认控制器命名空间App\Http\Controllers可以更改为根本没有命名空间RouteServiceProvider:

protected $namespace = '';

对于您的模型,您只需删除文件中的名称空间即可。但请记住,如果没有命名空间,PSR-4 自动加载将不再起作用。您必须使用自动加载文件classmap in composer.json

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5 命名空间 的相关文章

  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • Blade中的Section和Stack有什么区别?

    我们可以使用一个section定义一些 HTML 然后yield那在其他地方 那么为什么我们有堆栈呢 https laravel com docs 5 2 blade stacks https laravel com docs 5 2 bl
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • 如何向 laravel-passport 访问令牌添加自定义声明?

    我刚刚使用了 laravel passport 它与 jwt auth 相同 我想向我的 accessToken 添加一些自定义声明 可以吗 我想通过2fa status gt true在访问令牌和 API 调用时 有了这个访问令牌 我还想
  • 通知用户消息仍在输入中

    我正在使用 Laravel 5 6 7 Socket IO 和 vue js 我没有使用 Pusher 和 redis 下面是我的代码 用于向与我一对一聊天的用户发送消息 var url http localhost 6001 apps M
  • vagrant 与 laravel homestead 共享

    我遇到了让 vagrant share 与 laravel homestead vagrant box 结合使用的问题 我的 homestead yaml 文件如下所示 ip 192 168 10 10 memory 2048 cpus 1
  • Carbon 两个日期之间的时间差,格式为 hh:mm:ss

    我试图弄清楚如何获取存储在数据库中的两个日期时间字符串 并将其转换为时间格式的差异 hh mm ss 我在看diffForHumans 但这确实给出了我想要的格式并返回类似的东西after ago ETC 这很有用 但不适用于我想做的事情
  • 如何在 Laravel 5.4 中验证文件名

    我有一个包含三个输入字段的表单 我想在处理输入值之前验证它们 我想在处理文件名之前验证文件名 我使用正则表达式和 alpha dash 但我收到有效文件名错误 我希望我的文件名仅包含小写字母 数字 下划线和破折号 如何检查我的文件的文件名有
  • Laravel 文件下载 - php_fileinfo 扩展未启用

    我正在使用 Laravel 5 4 13 和 PHP 7 1 并迁移到共享主机 我正在尝试使该网站正常运行 但由于缺少扩展名而无法正常运行 php fileinfo 这是网站崩溃的代码 file base path storage app
  • 具有 Laravel 权限的 Vue.js

    我正在将 Laravel Permission API 与 Vue JS 前端集成 我在用https github com spatie laravel permission https github com spatie laravel
  • 控制器中的 Lumen (laravel) 翻译

    我需要翻译 电子邮件 作业和控制器中使用的字符串 我读到了这个 https laravel com docs 5 2 localization https laravel com docs 5 2 localization所以我知道你可以通
  • 获取 OrderBy desc Eloquent 查询中的行排名,如何使此查询在 laravel 5.5 eloquents 中工作?)

    我试图为我的用户提供 Laravel hiscores 分页表的排名 这是我发现有效的 MySQL 查询 我试图将其作为 Laravel 雄辩的查询来工作 select i i 1 ranking t from select i 0 ini
  • 调用未定义的函数 mb_strimwidth

    几个月前 我编写了一个简短的代码 使用mb strimwidth 为了将某些文本精确地放入表格单元格中 请在截断字符串的末尾添加点 现在 经过一段时间后 我尝试执行相同的代码 但出现了以下错误 Fatal error Call to und
  • Laravel 4:处理种子中的关系

    L4 的新种子功能中是否有一种简单的方法来管理多对多关系 一种方法是为数据透视表制作种子 但我需要做很多工作 对于此类事情的良好工作流程有什么想法吗 在最新版本的 Laravel 4 中 您可以在 DatabaseSeeder 类的 run
  • Vue.js 拦截器

    我怎样才能使用interceptor in vue js 因此 在每个请求 响应之前 它应该首先进入拦截器 我已经搜索了很多 但找不到关于此的好的文档 我想像这样使用 JWTAuth function define use strict d
  • Laravel 可排队通知错误:不允许序列化“Closure”

    我已经创建了一个可以成功运行的邮件通知 但是当尝试对其进行排队时 出现以下错误 Uncaught Exception Serialization of Closure is not allowed in vendor laravel fra
  • 使用 Laravel 从 Amazon S3 下载文件

    我有点确定如何使用 Laravel 4 从 Amazon S3 启动文件下载 我正在使用 AWS result s3 gt getObject array Bucket gt bucket Key gt data txt temp file
  • 如何像格式化数组一样使用 monolog 记录多行条目?

    我正在尝试记录一个数组monolog in symfony logger this gt get logger logger gt info print R user true 我得到的输出未格式化为 print r 预期的格式 它将所有内

随机推荐

  • TRACKER:错误TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件

    我尝试在 Windows 8 上的 Node js 项目中执行以下命令 npm 安装 电子邮件受保护 cdn cgi l email protection 但我收到一个错误 我不知道如何处理 TRACKER 错误TRK0005 无法找到 C
  • 使用 AJAX 或多线程加速页面加载

    我的页面有 5 个部分 每个部分大约需要 1 秒来渲染 Page Load RenderSection1 1 sec RenderSection2 1 sec RenderSection3 1 sec RenderSection4 1 se
  • 如何将 WordPress 类别选择限制为只有一个?

    我有一个自定义帖子类型和一个自定义分类设置 非常标准的东西 但是 我想知道如何限制我的客户在每个帖子中选择多个分类类别 我不介意他们能够创建和删除分类类型 但我不希望他们选择多个分类类型 因为这些是复选框 所以它们可以 也许单选按钮可以工作
  • 在 Google 表格应用程序中进行身份验证

    我有一个类似批处理的应用程序 由调度程序定期调用 无需人类用户参与 它使用 PerlNet Google 电子表格 http metacpan org pod Net Google Spreadsheets包通过从数据库获取的数据来更新 G
  • Rails 递归地包含 javascripts 资源文件夹

    我了解如何将一个 JavaScript 文件添加到 Rails 资产管道中 只需添加 require filename 到 application js 但是如何在一个文件夹下包含多个 javascript 文件 vendor assets
  • Java:使用 Java.util.concurrent 线程访问读取线程串行端口

    我正在尝试编写一个 Java 串行设备驱动程序并想使用 对我来说是新的 java util concurrent包裹 我有一种发送数据包然后等待 ACK 的方法 我打算有炭 接收在不同的线程中运行 如果接收线程收到 ACK 它应该使用发送数
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • Swift 3:如何访问48字节CFData中matrix_float3x3的值?

    我正在尝试访问内在矩阵answer https stackoverflow com a 48159895 9296667 通过运行下面的命令 我能够得到一个 48 字节的任意对象 https developer apple com docu
  • 表单提交后 Angular2 更新视图

    我正在使用 Angular2 创建一个简单的 CRUD 应用程序 该应用程序由一个列出当前记录的表格和一个用于提交新记录的表格组成 提交表单后更新表格以反映新记录的正确方法是什么 这是我到目前为止所拥有的 export class Pers
  • Flymake的临时文件可以在系统临时目录下创建吗?

    我目前正在使用以下代码在 emacs 中连接 Flymake 和 Pyflakes defun flymake create temp in system tempdir filename prefix make temp file or
  • 在运行时设置 DataGridView 上的 DataFormatString?

    是否可以在运行时设置 ASP NET DataGridView 中的列或单元格的 DataFormatString 属性 这应该有效 BoundField priceField grid Columns 0 as BoundField pr
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • pandas groupby 操作缺少数据

    在 pandas 数据框中 我有一列如下所示 0 M 1 E 2 L 3 M 1 4 M 2 5 M 3 6 E 1 7 E 2 8 E 3 9 E 4 10 L 1 11 L 2 12 M 1 a 13 M 1 b 14 M 1 c 15
  • 在 WooCommerce 管理订单项目上显示产品自定义字段(也适用于可变产品)

    基于在 WooCommerce 的订单编辑页面上显示自定义字段 https stackoverflow com questions 56259910 show custom fields on the order editing page
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • Bash:单行命令以与 grep 命令相反的状态退出?

    如何减少以下 bash 脚本 grep P STATUS Perfect recess txt exit 1 exit 0 看起来我应该能够用一个命令来完成它 但我这里总共有 3 个命令 我的程序应该 阅读课间休息 txt 如果它包含 ST
  • ChannelFactory重用策略

    我一直在读到 ChannelFactory 的创建是昂贵的 除非有技术原因不这样做 否则应该在可能的情况下重用 ChannelFactory 或者通过某种方式缓存它们 或者使用工厂的静态实例 根据您的经验 您发现哪些 ChannelFact
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 删除 Xcode 项目的源代码控制

    我在 Xcode 项目上使用源代码控制已经有一段时间了 但现在我不想使用源代码控制 如何从 Xcode 中的项目中删除源代码控制 有三种方法 方法 1 将禁用所有项目的源代码管理 方法 2 将删除所有项目的单个存储库的链接 方法 3 将删除
  • Laravel 5 命名空间

    我刚刚下载了 Laravel 5 并开始迁移到它 但是 我发现需要使用命名空间really恼人的 除了让我的代码变得混乱之外 我觉得我没有从中得到太多东西 如何禁用命名空间要求 我认为您不应该禁用或删除名称空间 命名空间的主要原因是避免与同