gpt4 book ai didi

动态的 php 命名空间

转载 作者:行者123 更新时间:2023-12-04 17:00:50 25 4
gpt4 key购买 nike

昨天我问了一个关于命名空间的问题,得到了回答,所以我一直坚持下去。然而,我越深入这件事,我就越意识到,我真的很希望能够即时生成命名空间。原因是,我有一个插件目录,其中包含所有文件。如果我公司的某个人正在制作插件......或第三方,我不希望他们打扰命名空间。我只想通过目录结构动态生成命名空间。你说,“为什么不这样做呢!”嗯,我做到了,但我意识到我仍然有类被命名为相同的东西的潜在问题,而命名空间可以解决这个问题。包也可以解决这个问题,但我找不到 php 支持它们。

-plugin
-tabs
+tabs.php
-package
-tabs
+tabs.php

这个想法是能够通过 $tabs->func() 和 $package_tabs->func() 访问类;

同样,这不是问题,除了类被命名为同一事物的可能性。

我有一个变通方法,但是如果有人知道动态创建命名空间的变通方法,那么听到它会很有趣。

我看到的一个问题是 PHP 在“编译”时创建命名空间。因此,使用 fsocks 之类的东西传入命名空间是一次失败的尝试。

最佳答案

动态地做是不可能的。正如您所提到的,PHP 在编译时扩展了框架,因此 PHP 本身无法对其进行修改。

现在,您可以构建一个程序,通过遍历目录结构并检查命名空间来“安装”这些脚本。如果没有找到,则自动编辑该文件并在顶部添加命名空间定义。但请注意,这将是有问题的,因为使用的任何类都可能不是完全限定的(因此在编译时会抛出错误)。

所以最好的方法就是从一开始就用命名空间开发类。做起来并不难,而且可以很容易地记录下来......

关于动态的 php 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519180/

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