<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 包/Packages <p class="uk-article-lead">包是 Pagekit 擴展它的功能的概念。包有主題和擴展兩種形式。</p> [toc=2] ## 包的位置 所有包都存放在 `/packages` 目錄中,在子目錄中以提供者進行分類。 每個包都屬于一個特定的提供者 - 例如,官方所有包都屬于 `pagekit`,包括 _博客_ 擴展和_One_ 主題。 提供者名字是開發者或組織獨具代表性的標識。至少它會匹配一個 GitHub 用戶名。包名也將定義它所在目錄的名稱。 ## 包的內容 一個包至少包含兩個文件: 1. 包含包的元數據的 `composer.json`,它是包的定義。 2. `index.php` 所謂的[模塊定義](modules.md),并為 Pagekit 添加實際的功能。 其余的內容則取決與包的 `類型/ type`.要了解更多關于包的實際內容,查看[主題開發教程](223157) 或者[擴展開發教程](223156)。 ## 包的定義 包是由它的 `composer.json` 定義的。這個文件包含了包的名稱、由[Composer](https://getcomposer.org)安裝的潛在依賴,以及顯示在 Pagekit 商店的其他信息。 主題中的這個文件類似下面這樣: ```json { "name": "pagekit/theme-hello", "type": "pagekit-theme", "version": "0.9.0", "title": "Hello", "description": "A blueprint to develop your own themes.", "license": "MIT", "authors": [ { "name": "Pagekit", "email": "info@pagekit.com", "homepage": "http://pagekit.com" } ], "extra": { "image": "image.jpg" } } ``` 關于此文件的更多信息,查看[Composer 文檔](https://getcomposer.org/doc/01-basic-usage.md). ## 安裝鉤子 包可以是已啟用、已禁用或者未安裝三種狀態。一旦改變了狀態,你可能需要修改數據庫架構或者運行其他自定義代碼。 Pagekit 通過一個自定義腳本文件提供了安裝鉤子。此文件需要先在 `composer.json` 文件中定義。 ```json "extra": { "scripts": "scripts.php" } ``` 自定義的腳本文件必須返回一個包含回調的 PHP 數組。 ```php return [ 'install' => function ($app) {}, 'uninstall' => function ($app) {}, 'enable' => function ($app) {}, 'disable' => function ($app) {}, 'updates' => [ '0.5.0' => function ($app) {}, '0.9.0' => function ($app) {} ] ]; ``` ### Install 在包被 _安裝了_之后執行 install 鉤子 ### Uninstall 在包被_卸載了_之前執行 uninstall 鉤子 即使你的擴展已經在管理面板中被_禁用_或者_卸載_了,Pagekit 也不會修改已經創建的數據表。你必須注意你需要修改的數據庫。 ### Enable 包被_啟用_后執行 enable 鉤子 ### Disable 包被_禁用_前執行 disable 鉤子 ### Updates 在包被啟用的前提下,Pagekit 會檢查是否有新的更新鉤子可用。如果有,它們會依次執行。
                  <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>

                              哎呀哎呀视频在线观看