代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<html>
<head>
<title>Soter代码规范</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/inc.js"></script>
</head>
<body>
<fieldset>
<legend>Soter代码规范</legend>
<ol>
<li><b class="text_strong">Soter使用PSR-0命名规范同时兼容PSR-4命名规范。</b></li>
<li>变量名,方法名,函数名,参数名,采取驼峰命名方式。比如userId</li>
<li>命名采用英文完整单词不能缩写,取最接近功能的单词。比如:userScoreLevel</li>
<li>常量名,静态变量名,采取全部大写加下划线分割多个单词的命名方式。比如:MAX_ID</li>
<li><b>使用PSR-0命名规范同时:</b><br/>
<b class="text_strong">classes类目录下的:文件名、类名、文件的位置,三者是对应的,大小写敏感。</b><br>
1.比如有文件:classes/Controller/User.php<br>
那么User.php文件里面的类名就应该是:Controller_User<br>
2.比如有文件:classes/Controller/Vip/User.php<br>
那么User.php文件里面的类名F就应该是:Controller_Vip_User,也就是下划线代表着文件夹的分隔符。<br>
3.比如有文件:classes/Model/User.php<br>
那么User.php文件里面的类名就应该是:Model_User<br>
4.比如有文件:classes/MyLib/User.php<br>
那么User.php文件里面的类名就应该是:MyLib_User<br>
</li>
<li><b class="text_strong">类库目录library/classes下的文件名和类名是对应的。</b><br>
比如有文件:library/classes/User.php<br>
那么User.php文件里面的类名就应该是:User<br>
</li>
<li><b>使用PSR-4命名规范同时:</b><br/>
<p>
术语「类」是一个泛称;它包含类,接口,traits 以及其他类似的结构;
<br/>完全限定类名应该类似如下范例:
<br/>\< NamespaceName >(\< SubNamespaceNames >)*\< ClassName >
<br/>完全限定类名必须有一个顶级命名空间(Vendor Name);
<br/>完全限定类名可以有多个子命名空间;
<br/>完全限定类名应该有一个终止类名;
<br/>下划线在完全限定类名中是没有特殊含义的;
<br/>字母在完全限定类名中可以是任何大小写的组合;
<br/>所有类名必须以大小写敏感的方式引用;
<br/>当从完全限定类名载入文件时:
<br/>在完全限定类名中,连续的一个或几个子命名空间构成的命名空间前缀(不包括顶级命名空间的分隔符),至少对应着至少一个基础目录。
<br/>在「命名空间前缀」后的连续子命名空间名称对应一个「基础目录」下的子目录,其中的命名 空间分隔符表示目录分隔符。子目录名称必须和子命名空间名大小写匹配;
<br/>终止类名对应一个以 .php 结尾的文件。文件名必须和终止类名大小写匹配;
</p>
<b class="text_strong">classes类目录下的:文件名、类名、文件的位置,三者是对应的,大小写敏感。</b><br>
1.比如有文件:classes/Controller/User.php<br>
那么User.php文件内容应该是:
<pre class="brush:php">
<?php
namespace Controller;
class User extends \Soter_Controller {
public function do_echo() {
\Sr::dump(__CLASS__);
}
}
</pre>
2.比如有文件:classes/Controller/Vip/User.php<br>
User类是:\Controller\Vip\User ; User.php类文件内容应该是如下:<br>
<pre class="brush:php">
<?php
namespace Controller\Vip;
class User extends \Soter_Controller {
public function do_echo() {
\Sr::dump(__CLASS__);
}
}
</pre>
3.比如有文件:classes/Model/User.php<br>
User类是:\Model\User ; User.php类文件内容应该是如下:<br>
<pre class="brush:php">
<?php
namespace Model;
class User extends \Soter_Model {
public function demo() {
return "demo";
}
}
</pre>
4.比如有文件:classes/MyLib/User.php<br>
User类是:\MyLib\User ; User.php类文件内容应该是如下:<br>
<pre class="brush:php">
<?php
namespace MyLib;
class User {
public function demo() {
return "demo";
}
}
</pre>
</li>
<li>代码采用tab缩进,一个tab占用8个英文半角空格宽度</li>
</ol>
</fieldset>
<script src="js/inc.foot.js"></script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。