我正在尝试Zend框架,我在E:\Archivos de programa\Zend\ZendServer\share中有两个文件夹,une是ZendServer,另一个是ZendServer2我不记得我是否安装过这两个版本,但我认为这不是问题所在我正在使用netbeans作为ide,并且我正在尝试使用BlockCipher对用户进行ABM这是我的代码
<?php
use ZendCryptBlockCipher;
class Application_Model_DbTable_Usuarios extends Zend_Db_Table_Abstract
{
protected $_name = 'usuario';
public function getUsuario($usuario)
{
$usuario = (string)$usuario;
$row = $this->fetchRow('Usuario = ' . $usuario);
if (!$row) {
throw new Exception("Could not find row $usuario");
}
return $row->toArray();
}
public function addUsuario($usuario, $clave)
{
$blockCipher = ZendCryptBlockCipher::factory('mcrypt',array('algo'=>'aes'));
$blockCipher->setKey('encryption key');
$result = $blockCipher->encrypt($clave);
echo "Encrypted text: $result n";
exit;
$data = array(
'Usuario' => $usuario,
'Clave' => $blockCipher,
);
$this->insert($data);
}
public function updateUsuario($usuario, $clave)
{
$blockCipher = BlockCipher::factory($clave, array(
'algo' => 'blowfish',
'mode' => 'cfb',
'hash' => 'sha512'
));
$data = array(
'Clave' => $blockCipher,
);
$this->update($data, 'Usuario = ' . (string)$usuario);
}
public function deleteUsuario($usuario)
{
$this->delete('Usuario = ' . (string)$usuario);
}
}
在我的php.ini中include_path=".;E:Archivos de programaZendZendServershareZendFramework2library"
我得到这个错误
Fatal error: Class 'ZendCryptBlockCipher' not found in E:Documents and SettingsdvieiraMis documentosNetBeansProjectsjustforgeeksapplicationmodelsDbTableUsuarios.php on line 21
我不明白为什么。你能帮我吗?提前感谢
您在应用程序中使用名称空间,因此需要确保您的自动加载器能够处理此问题。如果它是ZF1应用程序,那么就不是。你能试着使用require来包含类文件吗?您可以很好地修改自动加载器以使用名称空间
其次,在使用名称空间时,如果为类创建别名
use ZendCryptBlockCipher;
然后实例化它
$blockCipher = BlockCipher::factory('mcrypt',array('algo'=>'aes'));