У меня этот класс я делаю, что работает, если я сохраняю константы в коде класса, но я хотел получить к ним доступ из внешнего файла, который пользователь может прокомментировать или раскомментировать c постоянным значением.Как получить доступ к константам из внешнего обязательного файла в PHP?
он прекрасно работает таким образом, но я не хочу, чтобы пользователи рыться в коде:
class passwordStringHandler
{
# const PWDALGO = 'md5';
# const PWDALGO = 'sha1';
# const PWDALGO = 'sha256';
# const PWDALGO = 'sha512';
const PWDALGO = 'whirlpool';
/* THIS METHOD WILL CREATE THE SALTED USER PASSWORD HASH DEPENDING ON WHATS BEEN
DEFINED */
function createUsersPassword()
{
$userspassword = 'Te$t1234';
$saltedpassword='';
if ((defined('self::PWDALGO')) && (self::PWDALGO === 'md5'))
{
$saltedpassword = md5($userspassword . $this->pwdsalt);
echo("The salted md5 generated hash is: " . $saltedpassword . "<br>");
return $saltedpassword;
}elseif ((defined('self::PWDALGO')) && (self::PWDALGO === 'sha1')){
$saltedpassword = sha1($userspassword . $this->pwdsalt);
echo("The salted sha1 generated hash is: " . $saltedpassword . "<br>");
return $saltedpassword;
}elseif ((defined('self::PWDALGO')) && (self::PWDALGO === 'sha256')){
$saltedpassword = hash('sha256', $userspassword . $this->pwdsalt);
echo("The salted sha256 generated hash is: " . $saltedpassword . "<br>");
return $saltedpassword;
}elseif ((defined('self::PWDALGO')) && (self::PWDALGO === 'sha512')){
$saltedpassword = hash('sha512', $userspassword . $this->pwdsalt);
echo("The salted sha512 generated hash is: " . $saltedpassword . "<br>");
return $saltedpassword;
}elseif ((defined('self::PWDALGO')) && (self::PWDALGO === 'whirlpool')){
$saltedpassword = hash('whirlpool', $userspassword . $this->pwdsalt);
echo("The salted whirlpool generated hash is: " . $saltedpassword . "<br>");
return $saltedpassword;
}
else
echo("No password algro is defined! Edit the [<strong>PWDALGO</strong>] options in the <strong>systemConfiguration.php</strong><br>");
return false;
}
Это работает нормально, потому что закодирована в файл класса:
Я хочу его работа с использованием этого:
require ("../configs/systemConfiguration.php");
class passwordStringHandler
{
Я постоянно получаю остальное в моем если/другое заявление, что не могу найти, если PWDALGO определена.
или таким образом
class passwordStringHandler
{
require ("../configs/systemConfiguration.php");
Я не знаю, если это возможно, так как я получаю сообщение об ошибке, я не думаю, что вы можете включить или требуете файлов внутри рамки класса.
в будущем, если я получу это для работы, мне нужен сценарий установки, чтобы проверить сервер, чтобы узнать, какие типы шифрования доступны, и составить список пользователей для выбора предпочтительного метода шифрования, а затем установить он автоматически для них. и иметь возможность изменить метод шифрования позже с панели управления администратора.
Что вы отредактировали на этом Джоне? –
Просмотрите историю изменений, вы увидите все изменения там. – hakre
нет полиморфизма? –