|
来源:http://trac.seagullproject.org/wiki/Concepts/CoreLibs
Seagull框架使用的类库基本上可以分为以下几组:
使用Seagull的开发涉及到创建模块,模块包含一个以上用来业务逻辑的的manager。使用模块生成器和上面列举的库资源,建立一个manager是很轻松的。;对于一个典型的项目来说,你可能只会用到Controllers, Core和PEAR libs。
以下部分解释了库的分组,描述了每个类的基本功能。这对高级开发人员来说是更有意思,初学者不要担心,因为默认的任务和过滤器是基本WEB应用研究所需要的。
controller类管理应用程序的工作流程,SGL提供了许多实例,自己写一个也是很容易的。
| Class name | Availability | Methods | Description |
| SGL_FrontController | default | * run | FrontController 用来组织特定应用程序的工作流程。你可能会为你所创建的每个应用程序使用类似的controller,尽管你可以非常容易的自定义工作流程。比较一下单元测试和Seagull来学习一下如何自定义。 |
| SGL_Manager | default | * validate * process * display * maintainState | Manager类是一个应用程序控制器,它设置了validate/process/display的工作流程 |
| SGL_Wizard | default | * validate * process * display * maintainState | Wizard类是Manager类的一特例,可以使用它在你的应用程序内创建向导工作流程。 |
内核类是你的manager类可以调用的系统接口,用来操作系统,应用程序和用户资源。Availability是指你是否需要使用一个include语句来包含那个你要用的类,所有Availability为default的类是指这个类在应用程序的范围内可用,你不需要包含,就好比java.lang包中的类(通常情况下,在JAVA编程时,使用这个包中的类是不用显式包含的)。而值为Requireable的库在使用之前必须包含。
| Class name |
Availability |
Methods |
Description |
| SGL |
default |
|
提供大多数模块使用的静态方法 |
| SGL_Request |
default |
|
封装所有的 $_GET、$_POST、$_FILES为一个请求(Request)对象,提供大量过滤方法 |
| SGL_Output |
default |
|
SGL_Ouput类被别的地方被称为模板辅助类,它封装了模板引擎用来转换数据的方法,如将数据转换成html
| |
| SGL_Config
|
default |
|
用来解析处理配置文件,作为配置数据的寄存器 |
| SGL_Registry |
default |
|
通过数据存储对象,作为输入对象$input,保存下列单件对象的参考:Url,Request,Config等。 |
| SGL_DB |
default |
|
通常被作为DB资源对象的单件,提供dsn的创建方法
| |
| SGL_ServiceLocator |
default |
|
实现在运行时切换资源,如,一个数据库资源可以被切换以供开发使用 |
| SGL_Url |
default |
|
继承Net_URL,提供URI相关方法,使用分析策略 |
| SGL_HTTP |
default |
|
提供包括重定向的HTTP功能 |
| SGL_Session |
default |
|
Session管理类,大部分方法是静态方法 |
| SGL_String |
default |
|
各种字符串操作的函数 |
| SGL_Array |
default |
|
数组操作函数 |
| SGL_Date |
default |
|
提供日期格式化函数 |
| SGL_Inflector |
default |
|
执行资源名称的转换,如URIs,类,方法,变量
|
| SGL_Delegator |
default |
|
用来组合对象的PHP 4/5 兼容类 |
| SGL_Util |
default |
|
一些常用方法 |
| SGL_Category |
requirable |
|
封装SGL_NestedSet,用来操作Categories
|
| SGL_Emailer |
requirable |
|
封装PEAR::Mail, 用来发送HTML emails |
| SGL_TaskRunner |
requirable |
|
创建并运行一个任务列表 |
| SGL_NestedSet |
requirable |
|
PEAR DB_NestedSet 的轻量级封装,DB_NestedSet的许多方法
|
| SGL_Download |
requirable |
|
封装PEAR HTTP/Download 类以解决这个类的某些限制 |
| SGL_Item |
requirable |
|
封装内容对象 |
| SGL_Sql |
requirable |
|
提供SQL schema和data解析执行函数 |
| SGL_Install |
requirable |
|
提供安装过程所需的各类函数 |
所有过滤器都是可选择的,可配置的,而且可根据需要排序。
下面的任务实现了Intercepting Filter模式,每一个过滤器继承了SGL_DecorateProcess并对Request对象进行过滤。
| Class name | Availability | Group | Description |
| SGL_Process_Init | default | pre-process | |
| SGL_Process_AuthenticateRequest | default | pre-process | |
| SGL_Process_BuildHeaders | default | pre-process | |
| SGL_Process_CreateSession | default | pre-process | |
| SGL_Process_DetectBlackListing | default | pre-process | |
| SGL_Process_DetectDebug | default | pre-process | |
| SGL_Process_DiscoverClientOs | default | pre-process | |
| SGL_Process_ResolveManager | default | pre-process | |
| SGL_Process_SetupLangSupport | default | pre-process | |
| SGL_Process_SetupLocale | default | pre-process | |
| SGL_Process_SetupPerms | default | pre-process | |
| SGL_MainProcess | default | main process | |
| SGL_PostProcess | default | post-process | |
| SGL_Process_SetupNavigation | default | post-process | |
| SGL_Process_SetupBlocks | default | post-process | |
| SGL_Process_SetupWysiwyg | default | post-process | |
| SGL_Process_GetPerformanceInfo | default | post-process | |
下面的安装任务是简单的任务组,这些任务可以带一些参数,如$data。每一个必须继承SGL_Task或它的一个子类。
| Class name | Availability | Group |
| SGL_EnvSummaryTask | default | install |
| SGL_Task_GetFilesystemInfo | default | install |
| SGL_Task_GetLoadedModules | default | install |
| SGL_Task_GetPearInfo | default | install |
| SGL_Task_GetPhpEnv | default | install |
| SGL_Task_GetPhpIniValues | default | install |
| SGL_Task_SetupPaths | default | install |
| SGL_Task_SetupConstants | default | install |
| SGL_Task_SetBaseUrl | default | install |
| SGL_Task_CreateConfig | default | install |
| SGL_UpdateHtmlTask | default | install |
| SGL_Task_CreateTables | default | install |
| SGL_Task_LoadDefaultData | default | install |
| SGL_Task_CreateConstraints | default | install |
| SGL_Task_VerifyDbSetup | default | install |
| SGL_Task_CreateFileSystem | default | install |
| SGL_Task_CreateDataObjectEntities | default | install |
| SGL_Task_SyncSequences | default | install |
| SGL_Task_CreateAdminUser | default | install |
| SGL_Task_InstallerCleanup | default | install |
|