2015-04-13 4 views
0

Я все еще изучаю ZendFramework2, и я хочу знать, куда я должен поместить свои включенные файлы в zf2.ZF2 - Где я должен помещать свои файлы include?

Я начал мигрировать свою старую систему PHP в zf2, и все прошло хорошо, и пока я не заметил, что у меня есть некоторые файлы PHP, которые возвращают массивы и используются для преобразования идентификатора в описание. Например:

item.db.php

return array( 
    441 => "Some description", 
    442 => "another description" 
); 

Из-за большого объема данных в файлах, я не хочу, чтобы поместить их в один метод. Я буду использовать файлы в качестве помощников вида.

ответ

0

Существует несколько способов использования в zend framework. Если ваш размер массива мал и связан с вашими таблицами, вы можете сохранить его в файле модели.

public static function myarray(){ 
    return array( 
    441 => "Some description", 
    442 => "another description" 
    ); 
} 

и вы можете получить доступ именно так. Mymodule\Mymodel::myarray();

еще вы можете создать помощник вида, и вы можете получить к ним доступ в любом месте. например:

Создать класс образца MyHelper в view/helper

namespace MyModule\View\Helper;  
use Zend\View\Helper\AbstractHelper; 

class MyHelper extends AbstractHelper 
{  
    public function __invoke(){ 
     return $this; 
    } 

    public function render($arg1, $arg2){ 
     return 'My Expected output ' . $arg1 . ' ' . $arg2; 
    } 

    public function generateInfo(){ 
     return 'Your HTML goes here'; 
    } 
} 

Теперь зарегистрировать этот класс в module.config.php, так что вы можете получить доступ к этому в представлениях.

'view_helpers' => array(
    'invokables' => array(
     'myHelper' => 'MyModule\View\Helper\MyHelper', 
    ), 
), 

и называют, как это

<?php echo $this->myHelper()->generateInfo(); ?> 
+0

Это очень большой массив, уникальный файл имеет 15000 строк. Поэтому мне нужно будет включить его в метод Helper. Я просто пытаюсь найти приемлемый способ сделать это. Большое спасибо за ваш ответ, теперь у меня есть подсказка. –

+0

Я бы предложил создать независимый класс и добавить его в папку поставщика, а также в 'getAutoloaderConfig'. для лучшего объяснения поиска «добавление внешней библиотеки в zf2». –

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