gpt4 book ai didi

php - 在 Laravel 4 中使用命名空间

转载 作者:IT王子 更新时间:2023-10-29 00:51:59 25 4
gpt4 key购买 nike

我是 Laravel 的新手,通常使用 PHP 命名空间。在我决定制作一个名为 File 的模型之前,我没有遇到任何问题。我将如何正确地进行命名空间以便我可以使用我的 File 模型类?

文件是 app/controllers/FilesController.phpapp/models/File.php。我正在尝试在 FilesController.php 中创建一个新的 File

最佳答案

一旦掌握了命名空间,命名空间就非常容易了。

举个例子:

app/models/File.php

namespace App\Models;

class File {

public function someMethodThatGetsFiles()
{

}
}

app/controllers/FileController.php

namespace App\Controllers;

use App\Models\File;

class FileController {

public function someMethod()
{

$file = new File();
}
}

声明命名空间:

namespace App\Controllers;

请记住,一旦您将类放入命名空间以访问任何 PHP 内置类,您需要从根命名空间调用它们。例如:$stdClass = new stdClass(); 将变为 $stdClass = new\stdClass();(参见 \)

“导入”其他命名空间:

use App\Models\File;

这允许您随后使用没有命名空间前缀的 File 类。

或者你可以调用:

$file = new App\Models\File();

但最好将它放在 use 语句的顶部,这样您就可以看到所有文件的依赖项,而无需扫描代码。

完成后,您需要让他们运行 composer dump-autoload 来更新 Composer 的自动加载功能,以考虑您新添加的类。

请记住,如果您想通过 URL 访问 FileController,那么您需要定义一个路由并指定完整的命名空间,如下所示:

Route::get('file', 'App\\Controllers\\FileController@someMethod');

这会将所有 GET/file 请求定向到 Controller 的 someMethod()

查看 Namespaces 上的 PHP 文档Nettut 的资源始终是 this 的好资源文章

关于php - 在 Laravel 4 中使用命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14714848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com