# 编写 CodeIgniter 的文档
CodeIgniter 使用 Sphinx 来生成多种不同格式的文档,并采用 reStructuredText 语法来编写。 如果你熟悉 Markdown 或 Textile ,你会很快上手 reStructuredText 。我们的目标是可读性 以及对用户的友好性,尽管是非常技术性的文档,但读它的永远是人类!
每一页都应该包含该页的一个目录,就像下面这样。它是通过下面的代码自动创建的:
~~~
.. contents::
:local:
.. raw:: html
<div class="custom-index container"></div>
~~~
其中的 <div> 标签采用了原始的 HTML 语法,它是文档中的一个占位符,用于 JavaScript 动态的添加当前页面上的任何方法和函数。
# 所需工具
要生成 HTML、ePub、PDF 等等这些格式的文档,你需要先安装 Sphinx 和 Sphinx 的 phpdomain 扩展,并确保你已经安装了 Python 。然后安装 CI Lexer for Pygments ,它可以正确的高亮 页面中的代码。
~~~
easy_install "sphinx==1.2.3"
easy_install "sphinxcontrib-phpdomain==0.1.3.post1"
~~~
然后按照 cilexer 目录下的 README 文件的提示,来安装 CI Lexer 。
# 页面标题、小节标题 和 子标题
在一个页面中标题可以用于对内容进行排序,将内容分成章节,而且还可以用于自动生成 页面目录以及整个文档的目录。可以使用特定的某些字符作为下划线来表示标题,主标题 (例如页面标题和小节标题)还需要使用上划线,其他的标题只需要使用下划线即可。 层次结构如下:
; # 页面标题(带上划线)
; * 小节标题(带上划线)
; = 子标题
; - 子子标题
; ^ 子子子标题
; " 子子子子标题 (!)
使用 TextMate ELDocs Bundle 可以用下面这些 tab 快捷键快速创建这些标题:
~~~
title->
##########
Page Title
##########
sec->
*************
Major Section
*************
sub->
Subsection
==========
sss->
SubSubSection
-------------
ssss->
SubSubSubSection
^^^^^^^^^^^^^^^^
sssss->
SubSubSubSubSection (!)
"""""""""""""""""""""""
~~~
# 为方法编写文档
当你为其他开发者编写类或方法的文档时,Sphinx 提供了一些指令可以帮你简单快速的完成。 例如,看下面的 ReST 语法:
~~~
.. php:class:: Some_class
.. php:method:: some_method ( $foo [, $bar [, $bat]])
This function will perform some action. The ``$bar`` array must contain
a something and something else, and along with ``$bat`` is an optional
parameter.
:param int $foo: the foo id to do something in
:param mixed $bar: A data array that must contain a something and something else
:param bool $bat: whether or not to do something
:returns: FALSE on failure, TRUE if successful
:rtype: bool
::
$this->load->library('some_class');
$bar = array(
'something' => 'Here is this parameter!',
'something_else' => 42
);
$bat = $this->some_class->should_do_something();
if ($this->some_class->some_method(4, $bar, $bat) === FALSE)
{
show_error('An Error Occurred Doing Some Method');
}
.. note:: Here is something that you should be aware of when using some_method().
For real.
See also :meth:`Some_class::should_do_something`
.. php:method:: should_do_something()
:returns: Whether or not something should be done
:rtype: bool
~~~
它生成的文档如下所示:
class Some_class
some_method($foo[, $bar[, $bat]])
This function will perform some action. The $bar array must contain a something and something else, and along with $bat is an optional parameter.
参数:
*$foo (int) -- the foo id to do something in
*$bar (mixed) -- A data array that must contain a something and something else
*$bat (bool) -- whether or not to do something
返回:
FALSE on failure, TRUE if successful
返回类型:
bool
~~~
$this->load->library('some_class');
$bar = array(
'something' => 'Here is this parameter!',
'something_else' => 42
);
$bat = $this->some_class->should_do_something();
if ($this->some_class->some_method(4, $bar, $bat) === FALSE)
{
show_error('An Error Occurred Doing Some Method');
}
~~~
注释
Here is something that you should be aware of when using some_method(). For real.
See also Some_class::should_do_something()
should_do_something()
返回: Whether or not something should be done
返回类型: bool
- 空白目录
- 欢迎使用 CodeIgniter
- 安装说明
- 下载CodeIgniter
- 安装说明
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- 开始
- CodeIgniter 是什么?
- 支持特性
- 应用程序流程图
- 模型-视图-控制器
- 架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 向 CodeIgniter 贡献你的力量
- 编写 CodeIgniter 的文档
- Developer's Certificate of Origin 1.1
- 常规主题
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 类库参考
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类