Я пишу этот код
include('database.php');
function get_something() {
database instructions
}
function get_another(){
database instructions
}
и я пытаюсь исправить это
function get_something() {
include('database.php');
database instructions
}
function get_another(){
include('database.php');
database instructions
}
Я получаю ошибку повторного выделения.
как я могу это исправить?
Спасибо
Либо включите все ваши файлы в точку вашего приложения, которая, как гарантируется, будет выполняться только один раз, или используйте include_once 'database.php';
Прочитайте на нем здесь. Кроме того, вы можете реализовать автозагрузку. PHP будет загружать классы, если и только если они нуждаются в них. Однако он не работает для глобальных функций (поскольку они не являются классами). Вам нужно будет обернуть их в класс, если вы хотите воспользоваться этим.
Отдельная конфигурация базы данных и функций в разных файлах. Сначала включите файл с функциями, только один раз (require_once хорош для этого).
Затем укажите конфигурацию базы данных. Это можно сохранить как возвращающий массив, например
<?php
return array(
'db1' => array(
'user' => 'sdf',
),
);
и
$config = include 'config.php';
Это метод быстрого исправления. Но вы действительно должны использовать ООП и автозагрузку.
include_once
, функции во включаемых файлах объявляются глобально AFAIK.define
:-)