“Protoss/目录结构”的版本间的差异

来自Blueidea
跳转至: 导航搜索
命名规范
常规命名
第27行: 第27行:
 
以[http://wiki.blueidea.com/images/8/87/snakezero_protossdir.png apps/myappname(见左边,myappname实为您的项目目录名称)]为应用程序目录,其下的目录可用于[[Protoss/自动载入|自动智能载入]]。
 
以[http://wiki.blueidea.com/images/8/87/snakezero_protossdir.png apps/myappname(见左边,myappname实为您的项目目录名称)]为应用程序目录,其下的目录可用于[[Protoss/自动载入|自动智能载入]]。
  
从该目录算起,以“文件夹名/[.../]文件名.php”的形式存放类文件,如类文件中有包含“_”(下划线),则每个下划线所分割的字符串要建立相应的文件夹进行存放,字符串段落越靠前则目录等级越高。
+
从该目录算起,以“文件夹名/[若干文件夹/]文件名.php”的形式存放类文件,类名一般是“文件夹名_[若干文件夹_]文件名”<ref>原则上讲,类文件必需归于一个文件夹,如:class,lib之类的,这样才方便管理。</ref>,如类文件中有包含“_”(下划线),则每个下划线所分割的字符串要建立相应的文件夹进行存放,字符串段落越靠前则目录等级越高。
  
 
例如model目录中有city.php文件,则该文件中的类则是'''Model_City''',请注意,一般来说,'''每个PHP文件中有且仅有一个类''',并且'''每个类必须存放于一个专有的文件'''。
 
例如model目录中有city.php文件,则该文件中的类则是'''Model_City''',请注意,一般来说,'''每个PHP文件中有且仅有一个类''',并且'''每个类必须存放于一个专有的文件'''。
  
 
同理,若要建立类'''Model_User''',则有model/user.php,如果是'''Model_User_Role''',则有model/user/role.php。以此类推。
 
同理,若要建立类'''Model_User''',则有model/user.php,如果是'''Model_User_Role''',则有model/user/role.php。以此类推。

2010-07-13T10:36:57的版本

目录结构

snakezero protossdir.png

上图显示的是基于Protoss项目的根文件夹的一种形式,也是虚拟主机用户最常用的一种方式。(但是我们推荐您使用更安全的目录结构,详见:更安全的目录结构。)

图中:

  • index.php 入口文件

所有的访问都由该文件开始,除些文件以外所有的PHP代码都无法直接从浏览器访问,也这更加安全可靠。

  • apps 项目代码目录
    • controller 控制器
    • model 模型
    • templates 模板/视图
  • css CSS样式表目录
  • javascript JavaScript代码目录


命名规范

Protoss的命名分为两种--常规命名和强制命名。 所谓常规命名,就是指一般情况下都会按照该命名方法的,而强制命名则指的特殊的命名方式,不同于常规命名。

常规命名

为了提高代码的可读性和可维护性,所有的代码都要按照常规命名方法存放,我们来看一个例子,下面是类Model_City的代码片段: snakezero protossmodelcity.png

apps/myappname(见左边,myappname实为您的项目目录名称)为应用程序目录,其下的目录可用于自动智能载入

从该目录算起,以“文件夹名/[若干文件夹/]文件名.php”的形式存放类文件,类名一般是“文件夹名_[若干文件夹_]文件名”[1],如类文件中有包含“_”(下划线),则每个下划线所分割的字符串要建立相应的文件夹进行存放,字符串段落越靠前则目录等级越高。

例如model目录中有city.php文件,则该文件中的类则是Model_City,请注意,一般来说,每个PHP文件中有且仅有一个类,并且每个类必须存放于一个专有的文件

同理,若要建立类Model_User,则有model/user.php,如果是Model_User_Role,则有model/user/role.php。以此类推。
  1. 原则上讲,类文件必需归于一个文件夹,如:class,lib之类的,这样才方便管理。