2013-08-23 3 views
0

я пытаюсь рамки Zend, у меня есть две папки в E: \ Archivos де програма \ Zend \ ZendServer \ доля, ипе является ZendServer, а другой является ZendServer2 я не могу напомним, если я когда-либо установить это две версии, но я не думаю, что это проблема Я использую NetBeans, как язь Андо я пытаюсь сделать АВМ пользователей, использующих BlockCipher Вот мой кодБрус понять, что происходит

<?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

Похоже, вы пытаетесь использовать классы ZF2 в приложении ZF1. Можете ли вы подтвердить, какую версию ZF вы используете? –

+0

может быть, но я думаю, что так, когда я пытаюсь использовать phpinfo, он показывает Эта программа использует Zend Scripting Language Engine: Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies с Zend Extension Manager v5 .1, Copyright (c) 2003-2010, Zend Technologies – llocani

+0

Ни один из них не относится к Zend Framework. Можете ли вы предоставить дополнительную информацию о файловой структуре вашего приложения? –

ответ

0

Вы используете пространства имен в своем приложении, поэтому вам нужно убедиться, что ваш автозагрузчик может это обработать. Если это приложение ZF1, то нет. Можете ли вы попытаться использовать требование для включения файла класса? Вы можете задница также изменить автозагрузчик work with namespaces

Во-вторых при использовании пространств имен, если вы создаете псевдоним для класса

use Zend\Crypt\BlockCipher; 

вы затем создать его экземпляр

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

Спасибо, в результате у меня есть zend1.12, я обновлю и попробую еще раз. – llocani

Смежные вопросы