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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                >原文地址:https://developer.piwik.org/guides/how-piwik-works 翻譯工具:Chrome自帶,有些不通常的地方,人工修改了一下,英語太菜,見諒 #### 介紹 Piwik是一個應用程序,主要有兩件事情: - 收集和存儲分析數據 - 提供存儲數據的報告 為了實現這一結果,派維克的幾個部分發揮作用: - Piwik的JavaScript的跟蹤器,包含在網頁中 - 跟蹤器收集包含在其中的網頁上的數據,并通過調用HTTP跟蹤API將其發送給Piwik - 該歸檔任務運行和前處理數據(無論是在飛行中或通過定期任務) - 數據在報告中公開,可通過Web界面或HTTP報告API訪問 #### 插件架構 Piwik的代碼庫包括: - Piwik Core,它提供了應用程序的基礎以及擴展點 - 插件,使用擴展點添加行為和內容到應用程序 插件不僅僅針對要定制Piwik的第三方開發人員:Piwik的大部分都是通過插件實現的。派維克核心意圖盡可能的小。 因此,有兩種插件: - 默認插件提供Piwik的基本功能:它們包含在存儲庫和發行版中 - 可以手動安裝可選插件(通過將其復制到plugins/文件夾中)或通過Web界面中的Piwik的MarketPlace進行安裝 - 代碼庫 以下是構成Piwik代碼庫的主要文件和文件夾: ```shell config/ core/ # Piwik Core類 lang/ # 翻譯 plugins/ # 插件類及其資產 tests/ vendor/ # 由Composer安裝的庫 console # CLI界面的入口點 index.php # Web應用程序和HTTP報告API的入口點 piwik.php # HTTP跟蹤API的入口點 piwik.js # JavaScript跟蹤器,需要在網站中包含piwik.js ``` Piwik使用Composer將其依賴項(PHP庫)安裝到vendor/目錄中。 #### 接口 ##### Web應用程序 Web應用程序的入口點index.php位于根目錄中。該文件初始化所有內容并調用FrontController該類。 前端控制器將根據URL參數將傳入的HTTP請求路由到插件控制器: ```html /index.php?module=CoreHome&action=index&… ``` 在這個例子中,前端控制器將調用插件index控制器上的動作CoreHome。 插件控制器返回在HTTP響應中發送的視圖(通常為HTML內容)。 ##### 用戶界面 Piwik的用戶界面基于HTML和JavaScript。雖然一些頁面是由PHP控制器(使用Twig模板引擎構建)提供的HTML文檔,但Piwik UI的某些部分是由AngularJS構建的。 AngularJS是一個前端JavaScript框架,這意味著用戶界面構建在客戶端,數據從HTTP報告API中以JSON格式獲取。這也意味著更好的用戶體驗,因為它讓Piwik開發人員構建了一個更加動態和反應靈活的應用程序。 派維克的長期路線圖的一部分是將派維克UI的越來越多的部分移到AngularJS。 在“使用Piwik的UI”指南中閱讀更多信息。 ##### HTTP報表API HTTP報告API與Web應用程序類似。它的作用是以機器可讀格式(XML,JSON,...)提供報告。 它具有相同的入口點,也由前端控制器調度。 ```html /index.php?module=API&method=SEO.getRank&… ``` 這個HTTP請求將像對控制器的任何其他調用一樣處理:插件名稱是API和否action,這將返回到index。 該Piwik\Plugin\API\Controller班將被調用,它將派遣調用API針對性,充當API調用第二前端控制器。在我們的例子中,SEO.getRank意味著該Piwik\Plugin\SEO\API::getRank()方法將被調用。 ##### HTTP Tracking API 此HTTP API允許JavaScript跟蹤器將分析數據保存在Piwik中。 它的入口點與Piwik的Web應用程序和HTTP報告API不同:它是通過該piwik.php文件。 在“跟蹤HTTP API”參考中了解更多信息。 命令行 Piwik通過./console腳本提供了一個命令行API 。此腳本使用Symfony控制臺組件。 插件可以顯示可以調用的CLI命令,如下所示: ```shell ./console visitorgenerator:generate-visits ``` 命令類位于plugins/*/CommandsPiwik并自動檢測。 閱讀更多關于“Piwik在命令行”的指南。 #### 數據模型,處理和存儲 Piwik可以讓您收集分析數據,然后稍后檢索為報告。讓我們看看Piwik如何模擬,處理和存儲數據。 日志數據:原始分析數據 HTTP跟蹤API(即Piwik\Tracker組件)接收原始分析數據,我們稱之為“ 日志數據 ”。 日志數據在PHP中表示為Piwik\Tracker\Visit對象,并存儲到下表中: ```shell log_visit 每次訪問包含一個條目(返回訪問者) log_action 包含網站上所有可能采取的行動(例如,唯一網址,網頁標題,下載網址...) log_link_visit_action 每個行動的訪客包含一個條目(頁面瀏覽,...) log_conversion 包含訪問期間發生的轉化(與目標相符的操作) log_conversion_item 包含電子商務轉換項目 ``` 這些表格是為快速插入而設計和優化的,因為跟蹤API需要盡可能快地處理流量較大的網站。 這些表(及其相關的PHP實體)的內容將在“Piwik數據庫模式”指南中有更詳細的解釋。 ##### 存檔過程 以上表格并非針對提取高級別報表而設計或優化的:當有大量數據時,將日志條目聚合到日,周或月可能變得太密集。 該歸檔過程將讀取日志數據匯總,以生產“ 數據歸檔 ”。數據匯總并存儲為每個: - 天 - 周 - 月 - 年 - 自定義日期范圍 歸檔數據可以是: - 數字指標:簡單的數值(如頁面瀏覽量) 這些存儲在archive_numeric_*表中。值存儲為float。 - 表記錄:二維數據(可以是數值以及任何其他數據),表示為Piwik\DataTable對象 這些存儲在archive_blob_*表中。DataTable對象被序列化為字符串并被壓縮以被存儲BLOB在表中。 DataTable存儲在數據庫中的對象是命名記錄,以區分它們與DataTablePiwik的API所操縱和返回的對象,我們將其命名為報告。 在每個聚合級別處理和存儲每個數字度量或表記錄:日,周和月。例如,這意味著“進入頁面”報告將被處理并存儲在每月的每一天以及每個星期,月份,年份和自定義日期范圍內。這樣的數據是多余的,但這對于保證快速性能至關重要。 因為存檔數據必須快速查詢,所以每個月都會分開單獨的表。我們將會有: - archive_numeric_2014_10:2014年10月的指標 - archive_blob_2014_10:2014年10月的報告 - archive_numeric_2014_11:2014年11月的指標 - archive_blob_2014_11:2014年11月的報告 - ... “Piwik數據庫模式”指南中詳細介紹了歸檔表的內容。歸檔過程在“歸檔”指南中有詳細的說明。 #### 從存檔數據到報告 如上所示,數據作為數字度量或表格記錄存儲。 報表是DataTable對象,由插件定義的API類提供。API類訪問持久化的度量標準或記錄,并將其轉換為可呈現的報告。 有時候,一個持續的記錄可能是幾個API報告的來源。 您可以在“報告”指南中閱讀有關如何創建和投放報告的更多詳細信息。 #### 派維克的可擴展性點 Piwik Core僅定義主要的流程和行為。插件可以通過幾個可擴展點擴展和定制它們: 注冊事件或觸發事件 執行派維克公認的特殊課程 擴展某些抽象基類
                  <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>

                              哎呀哎呀视频在线观看