PHP类 - 无法声明一个

时间:2013-12-10 20:32:55

标签: php oop

我正在使用Crackstation.net的PHP源代码来进行哈希+ salting密码。

https://crackstation.net/hashing-security.htm#phpsourcecode

我正在尝试将此代码放在一个类中,以方便使用。

我想我可以使用代码顶部的额外行“class PasswordHasher {”和一个很好的结束括号来完成它。

<?php    

class PasswordHasher{
// These constants may be changed without breaking existing hashes.
define("PBKDF2_HASH_ALGORITHM", "sha256");
define("PBKDF2_ITERATIONS", 1000);
define("PBKDF2_SALT_BYTE_SIZE", 24);
define("PBKDF2_HASH_BYTE_SIZE", 24);

define("HASH_SECTIONS", 4);
define("HASH_ALGORITHM_INDEX", 0);
define("HASH_ITERATION_INDEX", 1);
define("HASH_SALT_INDEX", 2);
define("HASH_PBKDF2_INDEX", 3);

//all functions from the URL source

}
?>

出于某种原因,Netbeans不希望我在类中使用define关键字。如果我在类decleration之上有所有的定义行,我不会从Netbeans得到任何语法错误。我是PHP的新手,我找不到这种行为的原因。我做错了什么,如何将此源代码转换为OO编程类?

2 个答案:

答案 0 :(得分:1)

尝试const课程:

const PBKDF2_HASH_ALGORITHM = "sha256";

答案 1 :(得分:0)

您正尝试在方法范围的class,OUTSIDE内执行代码。

class foo {
    $bar = 1 + 1; // illegal - not in a method
    function baz() {
       $this->bar = 1 + 1; // legal, inside a method.
    }
}