2014-10-30 29 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 
相關問題