## 需要遵守的編碼規范
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...
}
}
~~~