Soter代码规范
  1. Soter使用PSR-0命名规范同时兼容PSR-4命名规范。
  2. 变量名,方法名,函数名,参数名,采取驼峰命名方式。比如userId
  3. 命名采用英文完整单词不能缩写,取最接近功能的单词。比如:userScoreLevel
  4. 常量名,静态变量名,采取全部大写加下划线分割多个单词的命名方式。比如:MAX_ID
  5. 使用PSR-0命名规范同时:
    classes类目录下的:文件名、类名、文件的位置,三者是对应的,大小写敏感。
    1.比如有文件:classes/Controller/User.php
    那么User.php文件里面的类名就应该是:Controller_User
    2.比如有文件:classes/Controller/Vip/User.php
    那么User.php文件里面的类名F就应该是:Controller_Vip_User,也就是下划线代表着文件夹的分隔符。
    3.比如有文件:classes/Model/User.php
    那么User.php文件里面的类名就应该是:Model_User
    4.比如有文件:classes/MyLib/User.php
    那么User.php文件里面的类名就应该是:MyLib_User
  6. 类库目录library/classes下的文件名和类名是对应的。
    比如有文件:library/classes/User.php
    那么User.php文件里面的类名就应该是:User
  7. 使用PSR-4命名规范同时:

    术语「类」是一个泛称;它包含类,接口,traits 以及其他类似的结构;
    完全限定类名应该类似如下范例:
    \< NamespaceName >(\< SubNamespaceNames >)*\< ClassName >
    完全限定类名必须有一个顶级命名空间(Vendor Name);
    完全限定类名可以有多个子命名空间;
    完全限定类名应该有一个终止类名;
    下划线在完全限定类名中是没有特殊含义的;
    字母在完全限定类名中可以是任何大小写的组合;
    所有类名必须以大小写敏感的方式引用;
    当从完全限定类名载入文件时:
    在完全限定类名中,连续的一个或几个子命名空间构成的命名空间前缀(不包括顶级命名空间的分隔符),至少对应着至少一个基础目录。
    在「命名空间前缀」后的连续子命名空间名称对应一个「基础目录」下的子目录,其中的命名 空间分隔符表示目录分隔符。子目录名称必须和子命名空间名大小写匹配;
    终止类名对应一个以 .php 结尾的文件。文件名必须和终止类名大小写匹配;

    classes类目录下的:文件名、类名、文件的位置,三者是对应的,大小写敏感。
    1.比如有文件:classes/Controller/User.php
    那么User.php文件内容应该是:
    						<?php
    							namespace Controller;
    
    							class User extends \Soter_Controller {
    
    								public function do_echo() {
    									\Sr::dump(__CLASS__);
    								}
    
    							}
    												
    					
    2.比如有文件:classes/Controller/Vip/User.php
    User类是:\Controller\Vip\User ; User.php类文件内容应该是如下:
    						<?php
    							namespace Controller\Vip;
    
    							class User extends \Soter_Controller {
    
    								public function do_echo() {
    									\Sr::dump(__CLASS__);
    								}
    
    							}
    												
    					
    3.比如有文件:classes/Model/User.php
    User类是:\Model\User ; User.php类文件内容应该是如下:
    						<?php
    							namespace Model;
    
    							class User extends \Soter_Model {
    
    								public function demo() {
    									return "demo";
    								}
    
    							}
    												
    					
    4.比如有文件:classes/MyLib/User.php
    User类是:\MyLib\User ; User.php类文件内容应该是如下:
    						<?php
    							namespace MyLib;
    
    							class User {
    
    								public function demo() {
    									return "demo";
    								}
    
    							}
    					
  8. 代码采用tab缩进,一个tab占用8个英文半角空格宽度