Как определить глобальные функции в PHP
Как определить глобальную функцию, которая будет доступна с любой страницы?
6 ответов
В включить.на PHP:
function myGlobalFunction() {
// do someting
}
затем на каждой странице вы хотите использовать его:
include 'include.php';
myGlobalFunction();
если вы хотите, чтобы ваша функция всегда была доступна, не включая ее, сделайте следующее:
создайте свою функцию в файле php.
-
в вашем php.ini поиск опции
auto_prepend_file
и добавьте свой php-файл в эту строку, например:auto_prepend_file = "/path/to/my_superglobal_function.php"
или если вы пишете его с не абсолютным путем, например:
auto_prepend_file = "my_superglobal_function.php"
это будет выглядеть в вашем include_path
на php.ini
в найти файл.
вы можете объявить функцию внутри функции, будьте осторожны, чтобы вызвать внешнюю функцию только один раз, или вы получите ошибку.
class MyClass {
function declareGlobalsFn () {
// functions declared inside a function have global scope
function globalfn1() {echo "fn1";}
function globalfn2() {echo "fn2";}
}
}
$ob = new MyClass();
$ob->declareGlobalsFn();
globalfn1(); // fn1
globalfn2(); // fn2
затем на каждой странице вы хотите использовать его:
include 'include.php'; myGlobalFunction();
-
поместите его в include, затем включите его.
этой технически может быть неправильно, в зависимости от контекста.
" страница "может восприниматься как"файл", например "вы должны включить файл функции в каждый файл, который вы хотите использовать функцию".
как только функция определена в вашей программе, к нему можно получить доступ из любого места, двигаясь вперед, пока программа не завершит выполнение.
скажите, что у вас есть это:
.в PHP:
<?php
function echo_1() {
echo 1;
}
echo_1();
require 'boot.php';
boot.в PHP
<?php
include_once 'page.php';
echo_1();
echo_9342949();
расширить на luarwo это, вы можете объявить функцию в конструкторе класса. Это может сделать ваш класс вроде библиотеки функций, где функции доступны с любой страницы, где вы создаете экземпляр класса.
Песочница\MyGameLib
<?php
namespace Sandbox;
class MyGameLib {
public function __construct() {
if (!function_exists('loveGame')) {
function loveGame($game) {
print "The game $game is awesome";
}
}
}
}
качели
<?php
namespace Seesaw;
use Sandbox\MyGameLib;
$m = new MyGameLib();
loveGame('Tempest');
игра Tempest является удивительным