摘要: 事件模块是一个由四个静态数组构成的部件,存在于内存中,提供事件模拟。<?php namespace Laravel;class Event { /** * 所有注册的事件 * * @var array */ public static $events = array(); /** * 队列事件 等待flush * * @var array */ public static $queued = array(); /** * 队列flush之后回调 * * @var array */ public static $flushers = array(); /** * 注册事... 阅读全文
posted @ 2013-04-01 16:32 snakevash 阅读(1404) 评论(0) 推荐(0) 编辑
摘要: 首先是中文注释:<?php namespace Laravel;class Autoloader { /** * 类名到文件名得映射 * * @var array */ public static $mappings = array(); /** * PSR-0命名转换目录 * * @var array */ public static $directories = array(); /** * 命名空间和目录的映射 * * @var array */ public static $namespaces = array(); /** * 下划线类库和目录映射 ... 阅读全文
posted @ 2013-04-01 14:55 snakevash 阅读(1857) 评论(0) 推荐(0) 编辑
摘要: 为了探索一下lein的工作方式,看了几遍lein.bat,写了一点笔记。@echo offsetLocal EnableExtensions EnableDelayedExpansionset LEIN_VERSION=2.0.0if "%LEIN_VERSION:~-9%" == "-SNAPSHOT" ( set SNAPSHOT=YES) else ( set SNAPSHOT=NO):: 原始工作目录set ORIGINAL_PWD=%CD%:: 处理文件地址if "%ORIGINAL_PWD:~-1%x" == " 阅读全文
posted @ 2013-04-01 11:08 snakevash 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 由于公司开发的需要,个人把PEAR的PHPUnit2的测试框架修改到WEB,现在不需要PEAR组件。目录【占位置】写下尽量我需要的说明的,希望更多的人使用。框架很精简。 阅读全文
posted @ 2012-12-07 21:51 snakevash 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 每一个领域专家都会告诉我们,Module间应该是低耦合,Module内应该是高内聚。我的思考突然就来了。首先,我想,我能理解低耦合的概念,因为从结构化程序设计到OO的,一路走来,都要求每一个程序是可以替换的,或者说,把程序写成零件一样的。那,高内聚的问题呢?首先想到的场景就是,一个类里面有属性和方法,那么,我想到的一点是,高内聚,是不是就意味着,该类里面的方法对该类的属性有强烈的依赖,这样就出现了。每一个函数尽量可以不要传参数,而利用自己本身的属性。那么,问题就是,当改函数需要重构的时候,就会变得极其的麻烦。麻烦的原因就是出于对该类本身的属性过于依赖,这就和结构化程序的函数设计思想有相违背的意 阅读全文
posted @ 2012-05-18 20:23 snakevash 阅读(386) 评论(2) 推荐(0) 编辑
摘要: 研究了有一个月的discuzx2的源代码。然后有了一些开发的心得。写心得也算是一种回顾,温故而知新嘛。首先,要理解每一个根目录页面的大概的加载流程顺序。这里,我就不用根目录的标准文件了。直接举例,写一个新的模块,它的名字叫做newModule.php。流程是这样的:1.newModule.php首先加载核心的类文件,/source/class/clsss_core.php这个是核心的类文件,这个文件是初始化了整个dz的核心对象,用了单例模式。名字叫做$discuz,这个对象里面有几个比较重要的特点。首先,是$_G的参数,被引用到了这个对象的var属性中,也就是$discuz->var=$ 阅读全文
posted @ 2012-05-18 09:48 snakevash 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 在长时间的思考之后,我得出了一点模型和原型的一些经验和心得,我不知道有多少人可以理解我的理论,希望会有人懂吧。我总觉我的想法已经太脱离了大众了。解决现实问题一个很重要的方法就是套用现有的模型,利用模型方法来解决很多问题。在我的认知中:原型是底层的基础,具有不连续性。模型则是原型的具体化,对于某一个方面问题的具体化。模型一定要具有现实意义才可能被不断地扩展。何为现实意义,就是可以被套用到现实的问题,提供解决问题的方法和策略。模型的产生,在我的研究之下,可以有如下:组合原型产生模型推测演义产生模型数学分析产生模型灵感产生模型模 型的扩展方法是:以建模的方式来扩展模型。这里我想说的是:模型是一个动态 阅读全文
posted @ 2011-10-27 09:29 snakevash 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 回调函数:通过函数指针调用函数,把一个函数的指针传给另外一个函数。从基本定义上,就可以开始基础推论。A.合并功能域。 1.以函数分割功能域。 2.以模块分割功能域。 3.以插件分割功能域。 4.以库分割功能域。为什么会产生这样的分割?传 地址与调用就产生了代码序列的融合,而代码序列组合成javascript基本单位——函数(依然比较喜欢c式风格,当然,理解成对象也可以),函数推演 就变成模块,模块的一种js定义就是插件,插件的放大就是库,当然,我现在还有这样的想法,库的组合就成了引擎了。希望以后会产生一个js的工业级强度的 引擎。那会是什么样子,应该很强大吧。从功能域往下推演,那就是时间序列的 阅读全文
posted @ 2011-10-24 22:03 snakevash 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 其实做界面真的做不出来,绞尽脑汁想不出什么界面,而且上头又很不满意?求指导,怎么样才能使得界面更具有商业气质?实在是黔驴技穷啊。没有办法了。 阅读全文
posted @ 2011-07-12 22:06 snakevash 阅读(486) 评论(8) 推荐(0) 编辑
摘要: 最近做到的一个项目中的数据操作分层的大纲。分层的缘由是跟具体的数据结构的关系来分层的。关系越密切的,那么,越是上层。 阅读全文
posted @ 2011-06-08 09:45 snakevash 阅读(377) 评论(0) 推荐(0) 编辑