2013-08-23 141 views
0

我試圖在Zend框架中,我有兩個文件夾在E:\ Archivos de programa \ Zend \ ZendServer \ share,une是ZendServer,另一個是ZendServer2 我不能記得如果我安裝此版本二,但我不認爲這是問題 我使用NetBeans IDE作爲安藤我試圖讓使用分組密碼 用戶的ABM這裏是我的代碼不知道發生了什麼

<?php 
use Zend\Crypt\BlockCipher; 
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 = Zend\Crypt\BlockCipher::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 programa\Zend\ZendServer\share\ZendFramework2\library"

,我得到這個錯誤

Fatal error: Class 'Zend\Crypt\BlockCipher' not found in E:\Documents and Settings\dvieira\Mis documentos\NetBeansProjects\justforgeeks\application\models\DbTable\Usuarios.php on line 21

我不明白爲什麼。 你能幫我嗎? 在此先感謝

+0

它看起來像你想在ZF1應用程序中使用ZF2類。你能確認你正在使用哪個版本的ZF嗎? –

+0

可能是,但我想這樣,當我嘗試phpinfo它顯示 該程序使用Zend腳本語言引擎: Zend引擎v2.3.0,版權所有(c)1998-2012 Zend技術 與Zend擴展管理器v5 .1,版權所有(c)2003-2010,由Zend Technologies – llocani

+0

這些都與Zend Framework沒有關係。你能提供更多關於你的應用程序文件結構的信息嗎? –

回答

0

您在您的應用程序中使用名稱空間,因此您需要確保您的自動加載器可以處理此問題。如果這是一個ZF1應用程序,那麼不是。你可以嘗試使用require來包含類文件嗎?你可以很好屁股修改自動加載到work with namespaces

其次使用命名空間時,如果爲一個類創建別名

use Zend\Crypt\BlockCipher; 

那麼你初始化它

$blockCipher = BlockCipher::factory('mcrypt',array('algo'=>'aes')); 
+0

謝謝,結果我有zend1.12,我會更新並再試一次。 – llocani

相關問題