Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function scaffAction() {
- $db = Zend_Db_Table::getDefaultAdapter();
- $useCache = false;
- if ($this->_getParam('cache', false)) {
- $frontendOptions = array(
- 'lifetime' => 7200, // время жизни кэша - 2 часа
- 'automatic_serialization' => true
- );
- $backendOptions = array(
- 'cache_dir' => APPLICATION_CACHE_DIR // директория, в которой размещаются файлы кэша
- );
- $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
- $useCache = true;
- }
- /* for($i=1; $i<=40; $i++) {
- $db->insert('test', array(
- 'pid'=>0,
- 'title'=>'Категория-родитель 1 уровня '.$i
- ));
- } */
- /*
- $second = array();
- foreach($list as $v) {
- //Генерим предков 2 уровня
- $count = mt_rand(5, 20);
- for($i=1; $i<=$count; $i++) {
- $second[] = $db->insert('test', array(
- 'pid'=>$v['id'],
- 'title'=>'Категория-потомок 2 уровня '.$i
- ));
- }
- }
- exit(var_dump($second)); */
- /* $list = $db->select()->from('test')->where('id > 2700')->query()->fetchAll();
- foreach($list as $v) {
- //Генерим предков 2 уровня
- $count = mt_rand(0, 10);
- for($i=1; $i<=$count; $i++) {
- $db->insert('test', array(
- 'pid'=>$v['id'],
- 'title'=>'Категория-потомок 4 уровня '.$i
- ));
- }
- }exit; */
- if ($useCache) {
- $start = microtime(true);
- if (!$container = $cache->load('categories')) {
- $list = $db->select()->from('test')->query()->fetchAll();
- $entries = array();
- foreach ($list as $row) {
- $entry['id'] = $row['id'];
- $entry['parent_id'] = $row['pid'];
- $entry['title'] = $row['title'];
- $entry['label'] = $row['title'];
- $entry['external_url'] = '#' . $row['id'];
- $entry['uri'] = '#' . $row['id'];
- $entry['class'] = 'nav-item';
- $entry['active'] = (bool) mt_rand(0, 1);
- $entries[] = $entry;
- }
- $entries = Core_Helper_Tree::build($entries);
- $container = new Zend_Navigation();
- $container->setPages($entries);
- $cache->save($container, 'categories');
- }
- $this->view->container = $container;
- $this->view->time = microtime(true) - $start;
- $this->view->count = count($container->count());
- } else {
- $start = microtime(true);
- $list = $db->select()->from('test')->query()->fetchAll();
- $entries = array();
- foreach ($list as $row) {
- $entry['id'] = $row['id'];
- $entry['parent_id'] = $row['pid'];
- $entry['title'] = $row['title'];
- $entry['label'] = $row['title'];
- $entry['external_url'] = '#' . $row['id'];
- $entry['uri'] = '#' . $row['id'];
- $entry['class'] = 'nav-item';
- $entry['active'] = (bool) mt_rand(0, 1);
- $entries[] = $entry;
- }
- $entries = Core_Helper_Tree::build($entries);
- $container = new Zend_Navigation();
- $container->setPages($entries);
- $this->view->container = $container;
- $this->view->time = microtime(true) - $start;
- $this->view->count = count($list);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement