PHP类-在声明一个类时遇到问题


PHP classes - having trouble declaring one

我使用Crackstation.net的PHP源代码进行哈希和盐析密码。

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

为了便于使用,我正试图将这些代码放在类中。

我想我可以用代码顶部的额外一行"classPasswordHasher{"和一个漂亮的右括号来完成

<?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关键字。如果我在类decoration上面有所有的define行,那么我不会从Netbeans中得到任何语法错误。我是PHP的新手,我找不到这种行为的原因。我做错了什么?如何将此源代码转换为OO编程类?

尝试类的const

const PBKDF2_HASH_ALGORITHM = "sha256";

您试图在class内部执行代码,超出方法的边界。

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