加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP使用包含内部函数

发布时间:2020-12-13 18:07:18 所属栏目:PHP教程 来源:网络整理
导读:我试图创建一个我可以调用的函数,如下所示, view( 'archive','post.php' ); 而这个功能真正起作用的是什么. include( 'view/archive/post.php' ); 原因是如果将来我将目录扩展为view / archive / another_level / post.php我不想在我的代码中回到任何地方并
我试图创建一个我可以调用的函数,如下所示,
view( 'archive','post.php' );

而这个功能真正起作用的是什么.

include( 'view/archive/post.php' );

原因是如果将来我将目录扩展为view / archive / another_level / post.php我不想在我的代码中回到任何地方并更改所有包含路径.

目前这是我的功能,除了看起来include正在函数内部调用,而不是在调用函数时被调用…

function view( $view,$file )
    {
        switch ( $view )
        {
            case 'archive'  : $view = 'archive/temp';   break;
            case 'single'   : $view = 'single';     break;
        }

        include( TEMPLATEPATH . "/view/{$view}/{$file}" );
    }

如何才能使此功能正确包含该文件?

编辑:

没有显示错误.感谢@Ramesh的错误检查代码,ini_set(‘display_errors’,’On’)我能够看到包含文件中还有其他“未显示”错误,这似乎导致文件无法显示起来……

该用例是 explicitly documented:

If the include occurs inside a function within the calling file,then
all of the code contained in the called file will behave as though it
had been defined inside that function. So,it will follow the variable
scope of that function. An exception to this rule are magic constants
which are evaluated by the parser before the include occurs.

恕我直言,在常量中保持基本路径更简单(你似乎已经在某种程度上做了)或甚至进行全站点搜索和替换(在任何体面的编辑器中这是一个30秒的任务),而不是重写所有包含的文件使用全局变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读