Protoss

来自Blueidea
跳转至: 导航搜索

Protoss是一款轻量级的PHP框架,目前由Snake.Zero进行日常维护。

Bi system importent.gifNOTICE

Protoss读作:['prɔtɔs]。Protos在希腊语中是“第一”的意思,而“proto-”也是英文中表示"第一 主要"之义的前缀。


框架简介

框架介绍

Protoss是一款轻量的PHP框架,前身Snake Framework,历经5年积累,纯构思时间超过2年。Protoss的编写目的,是为了解决开发中的代码不规范、流程不规范、文档不规范这些问题,因为他和一些第三方助手类或快速开发框架相比,更多的不是提供了什么,反而更多是什么不能做,不能怎么做

Protoss实现的一个真正框架该有的“框架”效果。和很多以快速开发的框架一样,Protoss提供了一些助手类,这些类大大减小了开发中重复劳动的部分。然而更重要的是,它是一款以约束开发行为为目的的框架项目。它在文件、类、函数、数据表的设计上,做了相对严格的限制,使用户项目整体简洁、清晰而且方便阅读。 对于员工流动大的公司,减少了新员工的学习和交流成本。

另:在设计之初,Protoss的目的是成为一个真正意义上的框架,因此不光包括代码方面,同时还包括了日常文档,工作流程的规范化。但是目前而言,在一些小公司中,这些相对复杂的规范化流程的推进还是有些困难。

Bi system importent.gifNOTICE

完整版概述:Protoss is not a underwear!
推荐阅读:为什么Protoss会更少的干涉业务逻辑


框架特性

  • 摈弃PHP的MySQL扩展,转而使用更高效且面向对象的MySQLi
  • Model层被重视,不再是简单的ORM映射,而是真正意义上的数据模型层
  • 相对严格的命名规范,代码更具可读性
  • 更安全的访问权限控制
  • 更强的代码生成工具

快速入门指南

本快歌入门指南假定读者对PHP,MySQL有一定基础。知道MVC或有其他框架开发经验为佳,但是在后面也会有一定介绍。

轻松编程从这里开始

MVC简介

基于Protoss的项目特征和目录结构

轻松访问到控制器

Hello world,我的第一个应用软件

编写控制器

控制器中的Action

我有许多小秘密--private和protected

模板引擎

很给力!自动引入模板

视图也可以继承

看,这些元素其实是可以拆分和复用的

了解数据模型

建立MySQLi数据模型

Rest风格的数据模型

项目开发权威指南

名词解释

附录

附录 A. 代码编写与开发流程规范

概述

Subversion是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。更多(利用版本控制进行协助开发)

Protoss代码编写规范

点此阅读Protoss代码编写规范,推荐

工作模型

 checkout(检出)项目
 更新文件或目录  update
 修改文件或目录  commit(提交)变更
 增加文件或目录  add(增加) 
 文件或目录      commit(提交)
 删除文件或目录  commit(提交)上一级目录

操作指南

当你在为项目工作时,首先请更新你的工作拷贝来获取那些你上次更新以来其他开发人员对项目做的新改动。更多

开发与测试部署流程

开发人员使用trunk目录进行当前版本开发.在模拟环境中进行单元测试.更多

核心提示

  • 负责而谨慎地提交自己的代码
  • 保持原子性的提交
  • 不要提交自动生成的文件
  • 不要提交不能通过编译的代码
  • 不要提交自己不明白的代码
  • 提前宣布自己的工作计划
  • 对提交的信息采用明晰的标注

附录 B. 版权信息

以下版权信息适用于Protoss项目,包括但不限于代码部分。(注:代码仅指Protoss框架代码,不包含开发人员基于此框架的应用程序,各应用程序开发者享有该程序代码的一切权利)

Copyright © 2009-2010 Snake.Zero

附录 C. 更新记录

  • 2009年6月      Protoss 0.1beta Protoss诞生
  • 2010年6月      Protoss 0.5beta 经过一年的开发和测试,第一个稳定版本
  • 2010年7月24日  Protoss 0.5.1 Mysqli模型驱动新特性