Php 从包含文件返回
在PHP中,如何从包含的脚本返回到包含它的脚本 即: 1-主脚本 2-申请 3-包括 基本上,我想从3回到2,return()不起作用 代码2-应用程序Php 从包含文件返回,php,Php,在PHP中,如何从包含的脚本返回到包含它的脚本 即: 1-主脚本 2-申请 3-包括 基本上,我想从3回到2,return()不起作用 代码2-应用程序 $page = "User Manager"; if($permission["13"] !=='1'){ include("/home/radonsys/public_html/global/error/permerror.php"); return(); } return应该有效,如中所述 如果当前脚本文件是include
$page = "User Manager";
if($permission["13"] !=='1'){
include("/home/radonsys/public_html/global/error/permerror.php");
return();
}
return
应该有效,如中所述
如果当前脚本文件是include()ed或require()ed,则控制权会传递回调用文件。此外,如果当前脚本文件是include()ed,那么给return()的值将作为include()调用的值返回
嗯,我不同意你的看法<代码>返回应该可以帮助您摆脱包含的文件。当然,它不会在函数中工作。includeme.php:
$x = 5;
return $x;
main.php:
$myX = require 'includeme.php';
也给出了相同的结果
这是PHP鲜为人知的特性之一,但对于设置真正简单的配置文件来说,这是一种不错的选择。我知道这已经得到了回答,但我认为我有一个很好的解决方案 main.php
function test()
{
$data = 'test';
ob_start();
include( dirname ( __FILE__ ) . '/included.php' );
return ob_get_clean();
}
<h1>Test Content</h1>
<p>This is the data: <?php echo $data; ?></p>
include.php
function test()
{
$data = 'test';
ob_start();
include( dirname ( __FILE__ ) . '/included.php' );
return ob_get_clean();
}
<h1>Test Content</h1>
<p>This is the data: <?php echo $data; ?></p>
测试内容
以下是数据:
我刚刚加入了$data
,以表明您仍然可以将数据传递到包含的文件,以及返回包含的文件。请参见文档中的示例5
当包含脚本时,可以获取脚本的返回值,如:
$foo = include 'script.php';
确保在包含的脚本(即不在函数中)的顶级作用域中调用return(),从#3/包含的脚本调用return时会发生什么?你能发布你的代码样本吗?当然:$page=“User Manager”;如果($permission[“13”]!=='1'){include(“/home/radonsys/public_html/global/error/permerro.php”);return()}中概述了这一点,应该注意,在大多数情况下,这被认为是一种有点糟糕的编码风格,因为它将include文件视为一个函数。更“标准”的方法是在include文件中放入具有适当名称的函数,包括该文件(在函数之外没有任何返回语句),然后调用所需的函数。在使用括号(即include(“x.php”);而不是包括“x.php”)时,在返回值时要小心。参见PHP文档中的示例4,了解
包含:@HenrikOpel,解释和详细说明。为什么它的编码风格不好?@Pacerier,如前所述,因为它将include文件视为一个函数,因此依赖于一种非常不寻常、特定于语言且不太明确的行为。这样的事情很容易被潜入维护的开发人员忽略(或者需要花费一些时间来理解发生了什么),所以如果有一种等效的、更常见的方法(比如在本例中使用显式函数调用),应该优先考虑。@HenrikOpel听起来像“不要使用PHP的所有功能,因为其他人不会。”这难道不是为有效地从一种语言中删除功能,最终将其归结为最不常见的开发人员树立了一个坏的先例吗?