sql >> Databáze >  >> RDS >> Mysql

jak používat funkci require_once inside

Ve skutečnosti z technického hlediska můžete použít require_once() uvnitř funkce. S největší pravděpodobností je to však špatný nápad a ne to, co skutečně chcete dělat:

  • včetně kódu uvnitř funkce doslova zahrnuje kód tam. To znamená, že veškerý zahrnutý kód je vyhodnocen v rámci rozsahu funkce. PHP deklaruje všechny funkce jako globální, ale proměnné a sekvence prostého kódu jsou svázány lokálně, takže nejsou viditelné mimo právě vykonávanou funkci.

  • protože k načtení zahrnutého souboru používáte relativní cestu, jste omezeni na provádění své funkce z určité úrovně souborového systému. To omezuje způsob použití vašeho kódu...

I když to může být ve skutečnosti to, co chcete, když přiložený soubor obsahuje nějakou místní konfiguraci, téměř jistě na to narazíte:

  • require_once() vyžaduje pouze jednou, k tomu slouží funkce. To znamená:pokud zadáte svou funkci getTierOne() více než jednou při každém dalším spuštění require_once() prostě nebude zahrnout jakýkoli kód, protože jej již obsahuje při prvním spuštění. Záleží tedy na tom, zda bude vaše konfigurace zahrnuta nebo ne! To je hrozný design!

Takže buď zahrňte svou konfiguraci globálně a například ji uložte do nějaké proměnné, na kterou se pak můžete odkazovat ve své funkci, nebo použijte require() nebo include() abyste se ujistili, že konfigurace je skutečně zahrnuta do každého provedení funkce.



  1. MySql:MyISAM vs. Inno DB!

  2. Převeďte MySQL do XML pomocí PHP

  3. Chyby oprávnění Mysql s „načíst data“

  4. Entity Framework Vkládání počátečních dat při opětovném sestavení