Skip to content

Learn Pi Engine Step By Step

chunhuili edited this page Jul 29, 2014 · 36 revisions

准备:

1)Trello(软件开发的管理工具)

  • 基本组成元素card->list->borad
    • Board 是容纳 List 的地方,在上面可以放置几乎无数个 List,而且 List 能够经由鼠标拖动,相互调换位置;
    • List 是容纳 Card 的地方,Crad 可以经由鼠标拖动,拖放到不同的 List 中去。
    • Card 是最基本的组成元素,可以称为 “任务卡片”。因为是记录和任务有关信息的地方
  • 拖动调整工作流程
  • 在trello中没有delete的概念,所有的删除就是archive起来,日后还可以找到。
  • 每个成员对 Trello 中的任务所作出的任何改动都会记录下来,所以项目的负责人可以根据团队的进度进行统筹安排

2)Github(版本控制器)

  • 注册github帐号,登录
  • 找到pi框架,fork Pi Engine,地址 https://github.com/pi-engine/pi
  • 在github上的Pi Engine的首页的右上方都会看到三个标识
  • Watch:watch 的作用是关注,目的是更新的时候,你可以收到通知。
  • Star:star 的作用是收藏,目的是方便以后查找。 (或者可以这样理解)一种更新的方式管理你所感兴趣的仓库的记录,任何之前预览过的仓库 都能在其页面中找到
  • Fork:fork 的作用是参与,目的是你增加新的内容,然后 Pull Request,原作者会考虑把你的 修改和原作者原来的内容合并。 (或者可以这样理解)最重要的功能之一,克隆别人仓库的代码到自己的项目中。可以作为子模块 的形式使用,或二次开发。

一、安装

  1. 安装wamp5.4以上的版本,php环境使用phpstorm。
  2. 将fork的pi代码复制我本地,放到www文件下
  3. 运行localhost,开始安装pi,配置好数据库和登录信息等
  4. 开启Apache 里边的rewrite_module重启Apache(基本上可以安装上基本的框架)
  5. 登录后台,熟悉后台的布局,功能等
  6. 点击模块,在可用下手动安装各个模块,熟悉其功能。
  7. 对应了解各个模块的代码

二、开始书写分布模块

1)Description

  • 目标:学会按Pi Engine规范开发模块。
  • 方式:分步完成一个简单的Pi模块。

Checklist

((-------------------------- 模块分步功能如下 -------------------------))

2)写一个空白模块,要求可安装、可卸载:V 0.1

  1. 在usr的module中新建一个文件夹
  2. 按照其他模块的目录格式去配置你的module.php文件,
  3. meta的三个配置东西是必写的title version licence,其他都是可选的。 (参考文档里的Configuration file写的很清楚)

3)输出 "Hello world!",要求用Controller,模板:V 0.2

  1. 使用正确的命名空间,引用正确的文件。
  2. 在front文件间里建立controller文件,assign一个值到模版中的front,
  3. 在模版中的front建立.phtml文件。接收controller传过来的值。

4)输出“Contact us”表单,要求用Form类:V 0.3

  1. 参照demo里的实例,添加自己的form表单。
  2. 用到的命名空间和你引用的文件的路径必须是正确的。在controller里写好你的方法,
  3. 在控制器里写好你的方法后在相应的template里写你的.phtml文件。

5)记录用户提交的联系表单内容,要求用数据库:V 0.4

  1. 在sql文件夹下建立自己的数据库,在安装的时候就会出现一个(前缀+模块名+sql文件中名字)的一张表。
  2. 在form文件夹下书写form文件。配置信息与数据库中对应起来。
  3. 在controller中进行接收处理,分配给template

6)在后台显示所有记录列表,要求用admin controller和模板:V 0.5

  1. 这个在后台显示那就需要用的admin里controller,
  2. 还是参照demo,与数据库连接起来。Foreach循环的时候写上自己的数据。
  3. 写好方法后在到相应的.phtml文件接收数据进行输出。

7)添加模块配置,控制是否在用户提交后显示的内容;如果是,则显示:V 0.6

  • 这个要是实现的功能就是通过后太启用或禁用的手动提交,让前台的form表单的个个输入框是够显示
  • 目的:了解config文件的功能。
  1. 主要使用config.php文件,所写的配置数据会在后台直接显示出来。
  2. 查看doc中的README-config.md文件。了解如何调用config的配置信息
  3. 在你第五步的form文件夹下得到config配置文件的数据。然后在显示输入框的地方添加判断条件。

8)添加i18n支持,学习翻译相关的函数,学习poedit工具,制作并翻译内容:V 0.7

Waiting…

Note:引用的文件路径和命名空间必须正确。

Clone this wiki locally