THINKPHP5 模型使用歷程(八)

秦曉武發表於2020-12-04

易於使用

這一塊包含的東西很多,針對模型說幾點

interface

class MTBase extends Model implements IMTBase
{
}
/**
 * Interface IMTBase
 */
interface IMTBase
{
    public function getId(): int;
    public function getTable($name = '');
    public function getCreateTime(): string;
    public function getUpdateTime(): string;
}

合理組織

之前是通過命名和繼承,來管理同類的程式碼。
比如我是多應用架構,每個應用都有對應的menu, admin, config,就建立了很多中間類,BaseMenu,BaseAdmin,BaseConfig。現在改成下面這樣了:

class MTWorkAdmin extends MTBase implements IMTWorkAdmin
{
    /**
     * 分組:Admin
     */
    use MCGAdmin;
    /**
     * 關聯表:erp_admin
     */
    use MCTErpAdmin;
    /**
     * 擁有欄位:birthday
     */
    use MCFBirthday;
    /**
     * 實現介面:IMTWorkAdmin
     */
    use MIWorkAdmin;
}

裡面的註釋是我臨時加的,其實習慣這個命名後,一眼就可以看懂的:laughing:

持續改進

怎麼寫程式碼,可以參照各種開原始碼。但什麼樣的程式碼是適合自己的、易用的,需要在維護程式碼的過程中,根據使用場景,不斷優化。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章