相关疑难解决方法(0)

最奇怪的语言特征

在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的"WTF"语言功能是什么?

每个答案只能有一个功能.

language-agnostic programming-languages

975
推荐指数
176
解决办法
48万
查看次数

如何使用包含在一个函数内?

我有一个大功能,我希望只在需要时加载.所以我假设使用include是要走的路.但我需要几个支持函数 - 只在go_do_it()中使用.

如果它们在包含的文件中,我会收到重新声明错误.见例A.

如果我将支持函数放在include_once中它可以正常工作,请参见示例B.

如果我使用include_once作为func_1代码,则第二次调用失败.

我很困惑为什么include_once导致函数在第二次调用时失败,它似乎没有第二次"看到"代码但是如果存在嵌套函数,它确实"看到"它们.

例A:

<?php
/*  main.php    */
go_do_it();
go_do_it();
function go_do_it(){
    include 'func_1.php';
}
?>

<?php
/*  func_1.php  */
echo '<br>Doing it';
nested_func()

function nested_func(){
    echo ' in nest';
}
?>
Run Code Online (Sandbox Code Playgroud)

例B:

<?php
/*  main.php    */
go_do_it();
go_do_it();
function go_do_it(){
    include_once 'func_2.php';
    include 'func_1.php';
}
?>

<?php
/*  func_1.php  */
echo '<br> - doing it';
nested_func();
?>

<?php
/*  func_2.php  */
function nested_func(){
    echo ' in nest';
}
?>
Run Code Online (Sandbox Code Playgroud)

php function include

16
推荐指数
2
解决办法
4万
查看次数

应该require_once"some file.php"; 出现在文件顶部的任何地方?

以下示例是否适用于PHP的require_once构造?

function foo( $param )
{
    require_once "my_file.php" ;
    //
    // do something here
}
Run Code Online (Sandbox Code Playgroud)

或者在文件开头只有require_once构造更合适吗?

即使包含的文件仅在函数的上下文中有用,为了便于阅读和维护,是否最好包含在顶部?

php

5
推荐指数
1
解决办法
2011
查看次数