javascript - PHP 所需或包含的文件是否需要遵循该顺序?

标签 javascript php

我是 PHP 新手,例如,如果我有一个包含 2 个子文件的父文件:

include_once('includes/child1.php');
include_once('includes/child2.php');

如果 child2.php 有一个带有函数 test_function 的类 Test:

class Test 
{
    static function test_function() {

    }
}

那么我们可以像这样访问 child1.php 中的这个 test_function 吗?

public static function initialize() {
    Test::test_function()
}

如果可以,为什么它不产生错误,因为 child1.php 包含在 child2.php 之前(注意:我来自Javascript 视角)

最佳答案

child1 或 child2 中的代码实际上没有被调用。您只是定义了一些类和函数,但没有调用任何这些函数。 Test::test_function() 永远不会被评估,因此它不会抛出任何错误。

总的来说:是的,顺序很重要。您尝试调用的所有内容都需要在调用之前定义。在这种情况下,您没有调用任何东西,因此它是无关紧要的。

每个文件都应该处理自己的依赖关系。即,child1.php 应该 include(或更好:require)child2.php 本身,如果它的代码依赖于它的话。不要将包含依赖项的负担放在 child1.php 的最终用户身上,这只会让事情变得极其复杂。

事实上,您应该使用 autoloading ,它将根据需要及时包含所有必要的文件,而您不必担心多个include语句的复杂性。

关于javascript - PHP 所需或包含的文件是否需要遵循该顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27436210/

相关文章:

javascript - JQuery 选择器 ul li

javascript - 使用带正则表达式的 replace() 在双括号内使用 AngularJS 格式字符串

PHP Sqlite3(不是 PDO!)交易?

php - 在 Woocommerce 中下订单后,将附件添加到管理员电子邮件通知

php - 在 php 中插入值

javascript - 将多维数组中的元素追加到 html 页面

javascript - AJAX Javascript 元素未更新

php - Symfony:注销后如何显示成功消息

php - MYSQL , PHP , SELECT 在哪里做

javascript - 在 Ext 中使用 XTemplate 和 SimpleStore