php – 帮助理解以下框架如何组合在一起:
我刚刚进入OOP和框架设计.我已经开始使用以下三个教程;
http://net.tutsplus.com/tutorials/php/creating-a-php5-framework-part-1/ http://net.tutsplus.com/tutorials/php/create-a-php5-framework-part-2/ http://net.tutsplus.com/tutorials/php/create-a-php5-framework-part-3/ 这是我尝试使用的第一个框架,因为本教程并非针对完整的新手我发现自己不得不对代码进行反向工程以查看一切是如何工作的.问题是我被困住了. 首先,我了解框架的基本概念,包括目录结构. 其次,我理解了注册表和数据库类的用途(尽管我还没有完全理解它们中的每个函数). 我的问题来自index.php,template.class.php和page.class.php文件.我广泛知道每个应该做什么(虽然进一步解释会很好!)但我不知道它们如何组合在一起,即索引页面如何与模板和页面对象交互以实际生成显示的页面.我特别无法按照所谓的一切顺序解决问题. 该指数在我看来是: >需要注册表类 然后,这就是我迷路的地方: >通过buildFromTemplates函数构建实际页面(我无法理解) 任何人都可以帮我解决这个问题吗?我在此之前尝试过Zend,但它太复杂了,这个更容易访问,但是你仍然可以让我感到难过(虽然我已经开始通过尝试了解更多的对象). 提前致谢. 解决方法
首先,我认为他们过度复杂了Registry模式的实现.我总是使用以下方法,这是更直接的(我将打印它的简化版本).
class Registry { protected static $_instances = array(); public static function add($instance,$name) { self::$_instances[$name] = $instance; } public static function get($name) { return self::$_instances[$name]; } } 登记处与单身人士合并只是一团糟. 关于你迷路的方面: 1. buildFromTemplates 2.查询缓存 // assume $db is a reference to the database object and that this is the first // query $db->cacheQuery('SELECT * FROM whatever'); $results = $db->resultFromCache(0); // previous query resource_id ……啊,忘了. 这是如此混乱,而是建议你从一些理智的框架开始,有利于学习内部工作.与CodeIgniter一样,当这些概念明确时,继续前进. 本教程充满了错误的决定,例如错误而不是异常,紧密耦合,自定义模板引擎(普通PHP已经足够)等等. 即使是symfony,这是一个很大的框架并不难以遵循. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |