### 1.1、PHP书写格式的两种方式
~~~
<?php ?>
<?= ?>
~~~
注:php文件必须使用`<?php ?>`开头结尾 `<?= >`不建议在开发文件中使用
* * * * *
### 1.2、PHP方法和类的命名
> 介:php采用驼峰命名法 一共有两种驼峰命名方法
>一种是开头大写StudlyCaps
> 一种是开头小写getStyle
说明:
类名我们采用开头大写的命名方法第一种
方法名我们采用开头小写的命名方法第二种
列子:
~~~
<?php
class AddressController {
//方法名
public function getMenu {
echo ‘getMoney’;
}
//方法名
public function remove() {
}
}
?>
~~~
注:单一的方法名使用全小写,有动词或多次的方法名使用开头小写的命名方法
* * * * *
### 1.3、PHP两种书写风格
1.以下是一个控制器的列子
~~~
<?php
namespace Manage\Controller;
use Common\Controller\BaseController;
use Think\Auth;
class ComController extends BaseController
{
public $USER;
public function _initialize()
{
}
}
~~~
注:类名方法名花括号换行书写
2.另一种的书写方式
~~~
<?php
namespace Manage\Controller;
use Common\Controller\BaseController;
use Think\Auth;
class ComController extends BaseController {
public $USER;
public function _initialize() {
}
}
~~~
注:类名和方法名后面空一格书写花括号
* * * * *
### 1.4、常量,变量的命名
常量命名列子
~~~
<?php
namespace Vendor\Model;
class Foo
{
const VERSION = '1.0';
const DATE_APPROVED = '2012-06-01';
}
~~~
变量命名方式
一种是开头大写驼峰命名方法$GetMoney
一种是开头小写驼峰命名方法$getMoney
一种是下划线命名方法 $get_money
注:变量名命名可以采用名词,或者动宾组合。
* * * * *
### 1.5、类的空间命名
列子:
~~~
<?php
namespace Manage\Controller;
use Common\Controller\BaseController;
use Think\Auth;
~~~
注:namespace 后使用use时换行空一行书写use
* * * * *
### 1.6、类的扩展与继承
关键词 extends 和 implements 必须 写在类名称的同一行
列:
~~~
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements \ArrayAccess, \Countable
{
// 这里面是常量、属性、类方法
}
~~~
implements 的继承列表也 可以 分成多行
列:
~~~
class ClassName extends ParentClass implements
\ArrayAccess,
\Countable,
\Serializable{
// 这里面是常量、属性、类方法
}
~~~
* * * * *
### 1.7、类的属性命名
每个属性都 必须 添加访问修饰符。
一定不可 使用关键字 var 声明一个属性。
每条语句 一定不可 定义超过一个属性。
不该 使用下划线作为前缀,来区分属性是 protected 或 private。
~~~
<?php
namespace Vendor\Package;
class ClassName
{
public $foo = null;
}
~~~
* * * * *
### 1.8、类的方法命名列子
~~~
<?php
namespace Vendor\Package;
class ClassName
{
public function fooBarBaz($arg1, &$arg2, $arg3 = [])
{
// method body
}
}
~~~
* * * * *
### 1.9、类的方法属性
~~~
<?php
namespace Vendor\Package;
class ClassName
{
public function fooBarBaz($arg1, &$arg2, $arg3 = [])
{
// method body
}
}
~~~
注:方法中的属性书写是从第二个属性开始,每个属性前面空一格书写属性。方法中的属性实际可以当做get来使用,可以省去一些获取方式