2014-10-30 24 views
1

我正在做一个简单的登录和注册点的网站,我来到一个文件问题的多重访问。我将db连接保存在一个文件上,并且我需要随时访问数据库。问题是,我现在开始清理代码和代码一些类似的块传送到功能,问题是我结束了这样的事情:要求同一个文件在多个实例上

<? php 
    function one() 
    { 
      require 'connection.file.php'; 
      (...) 
      return $result; 
    } 
    function two() 
    { 
      require 'connection.file.php'; 
      (...) 
      $varible = one(); 
    } 

我不太了解整个包括/需要方面的PHP,有没有办法,当我调用这两个函数,传递所需的文件,所以我不需要每次都包含它们?

编辑:管理纠正这一点。就像答案所说的那样,require需要是全局的,但是我的连接变量也必须声明为全局的。感谢您的答案。

+0

世界什么... – sjagr 2014-10-30 17:07:19

+0

这是我的想法require/include – Comum 2014-10-30 17:08:05

+0

需要'connection.file.php'; function one(){(...)return $ result; } function two(){(...)$ varible = one(); } – 2014-10-30 17:08:07

回答

3

要求/包括它在全球而不是:

<?php 
require 'connection.file.php'; 
function one() 
{ 
     //(...) 
     return $result; 
} 
function two() 
{ 
     //(...) 
     $varible = one(); 
} 
// ... 
+0

我试过了,但我得到一个错误,说它无法连接。 – Comum 2014-10-30 17:08:52

+0

这是一个完全独立的问题。您问过如何为每个功能需要相同的文件。 – esqew 2014-10-30 17:09:15

+0

对我来说,它也是一样的,因为它应该像你说的那样工作,但是它不会。 – Comum 2014-10-30 17:11:16

2

把需要在你的代码的顶部,而不是里面的功能。

我建议使用require_once来处理大多数事情,因为它避免了无意中重新声明函数。如果你知道你不止一次需要这个文件,只能使用include/require而不是include_once/require_once。

<?php 
require_once 'connection.file.php'; 

function one() 
{ 
    //stuff 
} 

function two() 
{ 
    //other stuff 
} 
?> 
1

您应该在顶部包含其他.php文件。请参阅下面的代码更 解释:

优势一个要求的是,它是更好的性能 (您的服务器没有加载其他文件的2倍)

<?php 
require_once 'connection.file.php'; 

function firstFunction() 
{ 
    //first stuff 
} 

function secondFunction() 
{ 
    //other stuff 
} 
?> code here 
相关问题