1. 程式人生 > >符合psr-1,2的程式設計例項

符合psr-1,2的程式設計例項

<?php
namespace phpspider;

abstract class Solier
{
    /**
     * 描述
     *
     * @var string
     */
    const THIS_IS_A_CONST = ''; // 常量全部大寫下劃線分割

    /**
     * 屬性描述
     *
     * @var string
     */
    public $nameTest = ''; //成員屬性必須新增public 屬性名建議小寫駝峰

    /**
     * 屬性描述
     *
     * @var string
     */
    private $_privateName = ''; //類私有屬性 建議下劃線小寫開頭駝峰

    /**
     * 建構函式
     *
     * 描述
     * @param string $value 形參名稱/描述
     */
    public  function  __construct($value = '')// 成員方法必須新增public(不能省略), private, protected修飾符
    {// {}必須換行

        $this->nameTest = new TestClass();

        // 鏈式操作
        $this->nameTest->functionOne()
            ->functionTwo()
            ->functionThree();

        // 一段程式碼邏輯執行完畢 換行
        // code...
    }

    /**
     * 成員方法名稱
     *
     * 成員方法描述
     *
     * @param string $value 形參名稱/描述
     * @return array  返回值描述
     */
    public function testFunction($value = '')
    {
        //todo

        return [];
    }

    /**
     * 成員方法名稱
     *
     * 成員方法描述
     * @param string $value 形參名稱/描述
     * @return bool 返回值描述
     */
    private function _privateTestFunction($value = '')
    {

        return true;
    }

    /**
     * 成員方法名
     *
     * 成員方法描述
     * @param string $value 形參名稱/描述
     * @return bool 返回值描述
     */
    public static function staticFunction($value = '')// static位於修飾符之後
    {

        return false;
    }

    /**
     * 成員方法名稱
     *
     * 成員方法描述
     * @param string $value 形參名稱/描述
     * @return mixed 返回值描述
     */
    abstract public function abstractFunction($value = '');

    /**
     * 成員方法名稱
     *
     * 成員方法描述
     * @param string $value 形參名稱/描述
     * @return null 返回值描述
     */
    final public function finalFunction($value = '')// final位於修飾符之前
    {
        return null;
    }

    /**
     * 成員方法名稱
     *
     * 成員方法描述
     * @param string $valueOne 形參名稱/描述
     * @param string $valueTwo 形參名稱/描述
     * @param string $valueThree 形參名稱/描述
     * @param string $valueFour 形參名稱/描述
     * @param string $valueFive 形參名稱/描述
     * @return array
     */
    public function tooLangFunction(
        $valueOne = '',
        $valueTwo = '',
        $valueThree = '',
        $valueFour = '',
        $valueFive = ''
    )
    {
        if ($valueOne === $valueTwo) {// 控制結構=>後加空格,同{一行,(右邊和)左邊不加空格
            // code...
        }

        switch ($valueThree) {
            case 'value':
                // code...
                break;

            default:
                // code...
                break;
        }

        do {
            // code...
        } while ($valueFour <= 10);

        while ($valueFive <= 10) {
            // code...
        }

        for ($i=0; $i < $valueFive; $i++) {
            // code...
        }

        return [];
    }

}