在他们的项目中使用类功能的PHP开发人员在使用它们之前,必须做大量的马戏团才能加载特定的类。 php __autoload()(将来会被弃用),spl_autoload_register(),psr-0 & psr-4标准自动加载它们。为什么php的类加载不像java“import”那么简单?
例如在start.php中定义的__autoload()或者那个问题spl_autoload_register()函数(包含其中所有类的路径)必须首先包含在索引或任何php页面中,然后执行您的工作与加载的类对象。
psr-0 & psr-4我们通过将autoload的psr-0或psr-4或classmap路径设置为供应商文件夹来配置composer.json。做dump-autload,在你的php文件中包含那个单独生成的autoload.php,并且使用“”命名空间“的psr-4约定来表示让我们的生活更容易(不是)。
在java中,定义包下的类然后只需导入需要的类并使用它。
我的问题是,为什么php加载的类不像java包& import那么简单?
我知道如果不是几乎不可能的话,可能会有一些实施困难。
几千个新的c代码行,如果不是lakhs绝对不会减缓PHP解释器,以帮助找到在import关键字中提到的类名称,并从类似java的包中加载该类,而不是这些繁琐的约定( spl_autoload_register(),psr-0,psr-4),它们可以使加载类更容易。
我在我的大部分项目中都使用过java。所以,我是PHP的新手,这种问题可能会很好,可能会出现很多问题。回复非常感谢。谢谢。
因为你通常只会说'include_once'otherFile.php';'? –
@rabbit,哥们儿,你知道include_once是真的吗?我想,我们已经在_autload(),spl_autoload_register(),composer.json的自动加载文件中通过了include_once阶段。 –
Dude,你在上面发布了你想要知道如何去做的事情,你给了零代码,你甚至没有发布你的该死的代码来显示你在做什么,然后有人建议使用include_once并且攻击它们。然后你坐在那里想知道为什么PPL没有帮助你。 –