## 需要遵守的编码规范
PSR-4依赖于自动加载,而自动加载又依赖项目目录结构。
为了更好的使用我们的自动加载机制,也为了代码的易读、规范化,作者简明扼要的讲一下在使用Idea框架时,必须要遵守的一些编码规范。
>[success]Lniux系统与Windows系统开发的区别
1. Windows不区分大小写,Linux严格区分大小写。
>在默认情况下,我建议同学们注意编码规范,平时编码有个习惯,所有代码都严格区分大小写。
2. 分隔符,Linux使用'`/`',Windows使用'`/`'与'`\`',所以我们统一使用'`/`'或者使用PHP内置常量`DIRECTORY_SEPARATOR`来表示
>[info]### 1. 目录和文件
* 目录全部小写,PHP文件(入口文件除外)使用[帕斯卡](http://baike.baidu.com/link?url=CFievXPRBxWaffHvQKqRtqvbfRPZpOmZjEXG6TRdij3f8zPCo-W21P4ywRn0kuGCSuOl1MiJec55aj083xFVrK)(大驼峰)命名法。
* 静态文件命名无严格要求。
>[info]### 2.类的规范
* 类名使用使用[帕斯卡](http://baike.baidu.com/link?url=CFievXPRBxWaffHvQKqRtqvbfRPZpOmZjEXG6TRdij3f8zPCo-W21P4ywRn0kuGCSuOl1MiJec55aj083xFVrK)(大驼峰)命名法。直接以后缀`.php`结尾,无需以使用`xxx.class.php`结尾。
* 所有控制器类**无需**继承控制器基类(因为框架没有定义基类),且控制器类必须放置在`应用目录/模块目录/controller`下面。
例:`application/admin/controller/Common.php`
~~~
<?php
namespace app\admin\controller;
class Common
{
}
~~~
* 所有模型类必须**继承**模型基类`\system\Model`,且模型类必须放置在`应用目录/模块目录/model`下面。
例:`application/admin/model/User.php`
~~~
<?php
namespace app\admin\model;
use \system\Model;
class User extends Model
{
}
~~~
>[info]### 3.函数与方法(函数方法推荐小驼峰)
* 方法名使用小驼峰命名法或者以下划线“_”分隔
~~~
//PSR-2规范
public static function getName()
{
}
~~~
>[info]### 4.变量和常量(变量推荐下划线分割,与函数方法区分)
* 变量或参数使用骆驼命名法或者以下划线“_”分隔,
例如:
~~~
$user_name='张三';
$userName='张三';
~~~
* 常量必须全部大写,单词之间以下划线“_”分隔,
例如:
~~~
define('APP_NAME','bbs');
~~~
>[success]一个完整的模型类设计如下:
例:`application/admin/model/User.php`
~~~
<?php
namespace app\admin\model;
use system\Model;
class User extends Model
{
public function userList()
{
#code...
}
}
~~~