Solar PHP 中文教程

2010-11-17


Table of Contents

I. 扬帆起航
1. 快速入门---简单博客演示
1.1. 简介
1.2. 下载并安装Solar
1.2.1 Linux/Unix平台
1.2.2 Windows 平台
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 非法/无效字符串
7. 用户认证、角色及访问控制
7.1 简介
7.2 Solar_User对象
7.3 身份验证处理
7.3.1 适配器
7.3.2 常用的适配器配置
7.3.3 适配器独有的配置
7.3.4 处理验证请求
7.3.5 使用方法
7.4 验证表单
7.5 角色
7.5.1 适配器
7.5.2 适配器配置
7.5.3 使用方法
7.6 访问控制
7.6.1 适配器
7.6.2 适配器配置
7.6.3 访问控制列表格式
7.6.4 使用方法
7.7 与页面控制器共舞
7.7.1 天网恢恢
7.7.2 动作内部的访问控制
7.8 所有权访问
7.8.1 准备内容对象
7.8.2 配置访问适配器以识别所有权
7.8.3 访问控制列表
7.8.4 与控制器共舞
8. 命令行工具
8.1. 简介
8.1.1. Vendor相关的命令
8.1.2. 应用相关的命令
8.1.3. 测试相关的命令
8.1.4. 文档相关的命令
8.2. 创建工作区源码
8.2.1. 示例
8.3. 链接工作区源码
8.3.1 示例
8.4. 链接公共资源
8.4.1 示例
8.5. 删除工作区的符号链接
8.5.1 示例
8.6. 获取帮助
8.7. 创建一个或多个模型
8.7.1. 创建一个模型
8.7.2. 指定表名
8.7.3. 指定父类
8.7.4. 一次创建多个模型
8.8. 创建一个Web应用页
8.8.1. 创建一个基本应用
8.8.2. 创建一个带有插、删、改、查模板代码的应用
8.9. 创建一个命令行工具
8.10. 创建一个测试环境
8.11. 运行测试环境
8.11.1. 运行所有方法
8.11.2 运行某些方法
8.12. 创建类似wiki的文档
8.13. 创建DocBook文件
9. 邮件
9.1. 简介
9.2. 构造消息
9.2.1. 邮件头和注入攻击
9.3. 发送附件
9.4. 发送邮件
9.4.1. 使用其中一种传输机制
9.4.2. 传输依赖注入
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. 模型类