我想找用Zend FrameWork开发的源码来学习.请问可以哪个网站下载?现在网上的教程感觉很多是旧版的教程,又英文不是很强,看不懂官方网的帮助,现只是想拿别人的源码来研究. 多谢提供!

解决方案 »

  1.   

    用zend开发的应该算是大型项目了吧,估计还没有开源的
      

  2.   

    [php]<?php
    $startTime = microtime(TRUE);/**
     * 自动加载
     */
    set_include_path('../library'.PATH_SEPARATOR.'/usr/www/library');
    require 'Zend/Loader.php';
    Zend_Loader::registerAutoload();/**
     * 全局设置
    **/
    $config = new Zend_Config_Xml('../data/config/main.xml');
    Zend_Registry::set('config', $config);/**
     * 数据库连接
    **/
    $db = Zend_Db::factory($config->db->type,$config->db->params->toArray());
    if ($config->db->type == 'pdo_mysql' || $config->db->type == 'mysql' || $config->db->type == 'mysqli'){
    $db->query('SET CHARACTER SET UTF8');
    }
    Zend_Db_Table::setDefaultAdapter($db);
    Zend_Registry::set('db', $db);/**
     * 数据库存储SESSION 
    **/
    Zend_Session::setSaveHandler(new Session_SaveHandler_Db());
    Zend_Session::start();/**
     * 文件缓存
    **/
    $cache = Zend_Cache::factory('Core', 'file', $config->cache->frontend->toArray(), $config->cache->backend->toArray());
    Zend_Registry::set('cache', $cache);
    /**
     * 身份识别
     */
    $auth = Zend_Auth::getInstance();
    if ($auth->hasIdentity() == FALSE){
    $auth->getInstance()->user = 'guest';
    $auth->getInstance()->group= 'guest';
    }
    Zend_Registry::set('auth', $auth);/**
     * 权限控制
     */
    $acl = new Zend_Acl();
    $acl->addRole(new Zend_Acl_Role('guest'));
    $acl->addRole(new Zend_Acl_Role('wait'), 'guest');
    $acl->addRole(new Zend_Acl_Role('user'), 'wait');
    $acl->addRole(new Zend_Acl_Role('vip'), 'user');
    $acl->addRole(new Zend_Acl_Role('admin'), 'vip');
    $acl->addRole(new Zend_Acl_Role('root'), 'admin');
    $model = $config->model->toArray();
    while (list($k, $v) = each($model)){
    $acl->add(new Zend_Acl_Resource($k));
    }
    if (!$aclData = $cache->load('data_acl')){
    $tableAcl = new Table_Acl();
    $aclData = $tableAcl->fetchAll();
    $aclData = $aclData->toArray();
    $cache->save($aclData, 'data_acl');
    }
    foreach ($aclData as $temp){
    $acl->allow($temp['acl'], $temp['module'], $temp['controller']);
    }
    Zend_Registry::set('acl', $acl);
    unset($tableAcl);
    unset($aclData);
    unset($model);/**
     * 视图
     */
    $view = new Zend_View();
    $view->lang = $lang->default; //注册默认语言
    $view->translate = $translate; //注册多语言支持
    Zend_Registry::set('view', $view);/**
     * 控制器路由
     */
    $router = new Zend_Controller_Router_Rewrite();/**
     * 分发器
     */
    $controller = Zend_Controller_Front::getInstance();
    $controller->setBaseUrl('/');
    $controller->setControllerDirectory($config->model->toArray());
    $controller->setParam('noViewRenderer',true);
    $controller->registerPlugin(new Controller_Plugin());
    $controller->dispatch();
    [/php]
      

  3.   

    官方网站那个quickstart就很好, 一步步跟着做就行如果只是用的话应该还好吧不过,如果觉得一头雾水的话, 那么你要看的不是Zend....
    你要看OO的书, 设计模式, 重构....等等
      

  4.   

    随便说一句, 这些书大都是用的java(或C++), 
    所以,学点java没坏处
      

  5.   

    magento 就是用 zend 框架开发的开源购物车
      

  6.   

    可以参考一下这个:ZendFramework 1.7 Blog源码