<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 插件的安裝與卸載 > 插件的安裝與卸載,這是插件中的核心。也正是因為插件的安裝與卸載,才能使插件技術在系統功能擴展上十分的靈活。 > 每一個插件都至少有兩個狀態`安裝`和`未安裝`,所以咱們在使用時,需要去標記插件的安裝狀態,在標記時,方式有多種,可以根據自己的需求靈活處理。 ![](https://box.kancloud.cn/e529225f48b0b5efcbbf8a9904e88530_1616x543.png) ## 插件狀態的標記方式: 1. 直接將插件狀態寫入數據庫 > 思路1:將安裝成功的插件信息寫入數據庫,如未安裝的不寫入 > 思路2:將所有的插件寫入數據庫,插件狀態使用一個字段進行標識 2. 不使用數據庫-通過文件進行標記 > 思路1:將安裝成功的插件信息寫入到該插件目錄下的一個文件中,也可以使用一個文件進行標記。 > 思路2:直接在插件基本信息中進行標記(靈活度不高,不建義這樣使用)。 ## 通過文件進行標記 > 在這里,咱們直接在安裝成功的插件目錄下,生成一個配置文件,里面含有插件的基本信息,還有咱們需要的其它的配置信息(如:插件菜單等) > 在這里,就直接通過寫入文件的方式來實現。由于原插件擴展包中,沒有生成文件的方法,所以在這里,同樣在擴展包函數文件中,新增一個創建文件的函數。 創建文件的函數: ~~~ /** * 生成插件配置文件 * @param array $config 配置信息 * @param string $name 配置文件名 * @return array */ function create_config($config,$name="config.php"){ $config_file=ADDON_PATH.$config['name'].DS.$name; if(is_file($config_file) && file_exists($config_file)){ return false; } $config=var_export($config, true); $content =<<<EOT <?php return {$config} EOT; $result=file_put_contents($config_file,$content); if($result===false){ return false; } return true; } ~~~ ## 插件安裝 > 插件安裝其實就是生成標識文件,在這里咱們直接在安裝插件的根目錄下生成一個配置文件,文件內容咱們根據需求,自行定義。 > 在這要注意,安裝插件可能不僅僅是生成配置文件,還要處理一些其它的業務邏輯。比如生成數據表、向表中添加字段等等。這個主要是根據咱們的插件功能和需求來定。 ## 插件卸載 > 插件卸載,就是要刪除標識文件,同時還要移除其它的業務邏輯。但是在實際開發過程中,在刪除插件時,為了避免風險,部分內容可能需要手動刪除(如:數據庫)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看