2010-10-13 1 views
1

я хочу, чтобы создать определенный пользовательский конфигурационный файл, который содержит некоторые переменные с постоянными значениями, теперь я хочу, чтобы получить доступ к этим значения во многих страницах моего application.how можете использовать эти переменные с помощью functions..what является лучший способ сделать это без использования классов.конфигурационный файл в PHP

+3

Вы должны попытаться принять больше ответ «причиной 22% является низким, и вона 't мотивировать ppl ответить вам ... – Shikiryu

+0

Почему бы не использовать классы? Попросить людей сохранить две строки, как они есть (один наверху, один внизу), чтобы обернуть всю их конфигурацию в определении класса, не должно быть сложнее, чем попросить их использовать PHP в первую очередь ... –

ответ

1

Ну это делать без классов, которые вы могли бы использовать define() для создания констант на основе пользовательских использовать в вашем приложении.

EDIT Соглашение об именах для констант - это все символы верхнего регистра.

пример:

define(DATE, date()); 

вы можете вызвать его в скрипте по телефону:

$date = DATE; 

http://php.net/manual/en/function.define.php

В качестве альтернативы вы можете сохранить детали в $GLOBALS массиве. Помните, что это не полностью безопасно, поэтому используйте md5() для хранения паролей или конфиденциальных данных.

+4

md5 is not для хранения паролей. – Chris

+0

lol я знаю, что;) Мой ответ, возможно, был немного неоднозначным, извините, что. Я имел в виду md5() любые конфиденциальные данные в массиве $ GLOBALS. –

+0

Глобалы не менее безопасны, чем использование 'define'.Кроме того, 'md5()' эффективно уничтожает данные, над которыми он работает, делая его бесполезным, за исключением проверки того, что данные, хранящиеся в другом месте, одинаковы. –

2

Вы можете определить этот файл где-нибудь и включить его или потребовать его.

require_once("path/to/file/config.php"); 

Любые переменные внутри этого файла доступны в сценарии, что requires/includes его.

Или вы можете использовать определить как:

define("TEST", "10"); //TEST holds constant 10 

Теперь с помощью теста во всех столицах будет иметь значение было определено как.

Кроме того, если вы хотите, чтобы они доступны в функциях, у вас есть три варианта, передать их в качестве аргументов функции при вызове или объявить как глобальные в функции.

//example 1 
require_once("path/to/file/config.php"); 
function testFunction($var){ 
    echo $var." inside my function"; //echos contents of $var 
} 

//now lets say a variable $test = 10; was defined in config.php 
echo $test; //displays "10" as it was defined in the config file. all is good 
testFunction($test); //displays "10 inside my function" because $test was passed to function 


//example 2 
require_once("path/to/file/config.php"); 
function testFunction2(){ 
    global $test; 
    echo $test; //displays "10" as defined in config.php 
} 

//example 3 
define("TEST", "10"); 
echo TEST; // outputs "10" 
//could have these constants defined in your config file as described and used above also! 
1

Как вы используете константы, то define() имеет смысл, но вы могли бы, возможно, использовать ini files в качестве альтернативы вместо этого.