Solar PHP

Solar是基于PHP 5的web应用框架。她继承了Savant模板系统、DB_Table对象-关系管理包以及PEAR组织结构的优良特性及先进思想。

Solar由Paul M. Jones创办,他也是Solar系统的“独裁者”。其他开发人员主要为标准项目分发包开发组件,所有这些都遵守New BSD协议。

  1. 优雅和一致的:代码库本身是很容易理解的,坚持文档友好的命名规则, 并有很强的概念完整性。
  2. 完整的名字空间: Solar类库有它们自己的PHP5.2名字空间 ,并且Solar中的vendor同样有自己的名字空间。这样一来,混合其他组件和框架也不是什么难事了,因为他们不会产生名字冲突。
  3. 配置是可继承的:在配置文件配置好某个类,该类的所有子类都会默认继承该配置。
  4. 本地化是可继承的:设置某个类的本地化字符串,该类的所有子类都会继 承那些本地化字符串。
  5. 针对SQL注入,跨站点脚本的攻击和其他常见的攻击有非常容易使用的防卸体系。
  6. 验证和查审有户输入,有健壮和可扩展的数据过滤体系。
  7. 用于LDAP、TypeKey、数据库htpasswd及其他源的验证适配器
  8. 用于memcache、APC、XCache及其他系统的缓存适配器
  9. 用于超链接, 图像, 样式, 本地化文本, 表单生成等的视图辅助类
  10. 活跃并且友好的社区: 加入 mailing list and IRC where we make it point to be nice.
  11. 充分集成企业的开发模式,例如:
英文官方站:http://solarphp.com
中文官方站:http://solarphp.cn
中文社区: http://solarphp.org.cn
中文教程列表(http://solarphp.cn/manual-new/

Solar PHP 中文教程

Roy Gu

<roy@solarphp.cn>

Copyright © 2010 solarphp.cn


Table of Contents

I. 扬帆起航
1. 快速入门—简单博客演示
1.1. 简介
1.2. 下载并安装Solar
1.3. 创建工作区
1.4. 配置系统
1.5. 从数据表创建模型
1.6. 创建一个基本应用
1.7. 建立一个基本应用
1.8. 浏览所有公开的文章
1.8.1 “Index”方法
1.8.2 “Index”视图代码
1.9. 阅读一篇文章
1.9.1 “Read”方法
1.9.2 “Read”视图文件
1.10. 浏览所有草稿
1.10.1 “Drafts”方法
1.10.2 “Drafts”视图文件
1.11. 编辑文章
1.11.1 “Edit”Action方法
1.11.2 “Edit”视图文件
1.12 添加新文章
1.12.1 “Add” Action方法
1.12.2 “Add”视图文件
1.13 删除文章
1.13.1 “Delete” Action方法
1.13.2 “Delete”视图文件
1.14 设置本地化字符串
1.14.1 关于本地文件和方法
1.14.2 修改本地化文件
1.15 在虚拟主机中使用简洁的URIS
2. 动态调度周期
2.1 入口文件和配置文件
2.1.1 Solar::start()方法(启动例程)
2.1.2 配置
2.2 前端控制器
2.2.1 动态重写
2.2.2 静态路由
2.2.3 类栈
2.3 重写规则
2.3.1 短格式
2.3.2 替换标记
2.3.3 长格式
2.4 页面控制器
2.4.1 初始化和加载
2.4.2 执行动作
2.4.3 渲染结果
2.4.4 返回响应
3. 和模型一起跳华尔兹
3.1 简介
3.2 主要的组件和模式
3.3 模型目录
3.3.1 创建一个目录实例
3.3.2 从模型目录中获取模型
3.4 获取数据
3.4.1 获取方法
3.4.2 获取方法的参数
3.4.3 魔术获取方法
3.5 记录和集合
3.5.1 记录对象
3.5.2 集合对象
3.6 创建、修改、保存记录
3.6.1 创建新记录
3.6.2 修改一条记录
3.6.3 保存一条记录
3.7 记录过滤器
3.7.1 自动过滤器
3.7.2 添加过滤器
3.7.3 可用的“审查”过滤器
3.7.4 可用的“验证”过滤器
3.8 特殊字段处理
3.8.1 创建时间戳
3.8.2 更新时间戳
3.8.3 自动数列
3.8.4 PHP序列化
3.8.5 XML 结构
3.9 单表继承
3.9.1 启用单表继承
3.9.2 继承模型
3.9.3 获取数据
3.9.4 创建和保存
4. 和关系模型躲猫猫
4.1 简介
4.2 域描述
4.2.1 博客系统
4.2.2 术语
4.2.3 域图
4.3 本地模型—“有一”条相关的外地记录
4.3.1 建立“有一”关系
4.3.2 延迟加载SQL
4.3.3 外键
4.3.4 有一或没有
4.3.5 关系定义
4.4 本地模型—“有多”条相关的外地记录
4.4.1 建立“有多”关系
4.4.2 延迟加载SQL
4.4.3 外键
4.4.4 关系定义
4.5 本地模型—“属于”相关的外地模型
4.5.1 建立“属于”关系
4.5.2 延迟加载SQL
4.5.3 外键
4.5.4 关系定义
4.6 本地模型—间接“有多”条相关的外地记录
4.6.1 建立间接的“有多”关系
4.6.2 延迟加载SQL
4.6.3 外键
4.6.4 中间键
4.6.5 关系定义
4.7 贪婪获取
4.8 创建、修改和保存关系记录
4.8.1 自动外键管理
4.8.2 独立操作
5. 视图和布局
5.1 简介
5.1.1 前提及假设
5.1.2 注意
5.2 视图和布局的位置
5.3 嵌套视图和Partials
5.3.1 方法一:使用Solar_View::template()方法
5.3.2 方法二:使用Solar_View::partial()方法
5.4 视图备用格式
5.5 视图辅助类
5.6 布局
5.6.1 指定默认布局
5.6.2 创建默认布局
5.6.3 创建子视图_head.php
5.6.4 创建子视图_body.php
5.6.5 创建子视图 _header.php和_footer
5.6.6 创建子视图_nav.php和_local.php
5.6.7 创建样式表
5.6.8 覆盖布局
6. 模型和表单
6.1 简介
6.2 控制器逻辑
6.3 表单对象
6.4 表单元素
6.4.1 元素名称
6.5 在视图中打印表单
6.6 视图装饰
6.7 半自动视图显示
6.7.1 字段域
6.8 自定义记录元素
6.9 本地化字符串
6.9.1 模型字符串
6.9.2 控制器字符串
6.9.3 非法/无效字符串
II. 附录
A. 项目标准
A.1. 简介
A.2. 风格指南
A.2.1. 编码风格
A.2.2. 解决问题的风格
A.2.3. 命名空间
A.2.4. 行内文档风格
A.3. 基类
A.3.1. 继承基类
A.4. 全局构造函数
A.5. 全局配置文件
A.5.1. 配置文件设置
A.5.2. 实例配置
A.5.3. 优先顺序
A.6. 项目系统
A.6.1 source/目录
A.6.2. include/目录
A.6.3. config/目录
A.6.4. docroot/目录
B. 命名规范
B.1. 简介
B.2. 工作区名和类名
B.3. 方法
B.4. 全局变量和全局函数
B.5. 会话变量
B.6. 配置键
B.7. 本地文件
B.8. 本地键
B.9. 异常
B.10. 模型类

List of Figures

5.1. 主视图包含多个子视图

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>