果實框架的結構非常簡單。
FRAMWORK使用HMVC設計模板(層次模型 - 視頻控制器)。
該框架的最高水平部分是輸入點 - 引起應用程序啟動的文件。實際上,它可以是Web服務器的index.php腳本,也可以是操作系統的可執行文件。在輸入點,始終啟動應用程序。
應用是有條件的概念。這些是控制數據輸入和輸出的類。分隔為應用程序可以使您的項目通用 - 它將能夠從控制台下和瀏覽器下啟動,而對於每種情況,您都可以編寫單獨的處理程序,但是所有這些都可以使用相同的庫。
申請示例:
當輸入點打開載體(包括 require)時,就有可能啟動應用程序。
貨物正在尋找正確的應用程序,然後執行相關說明。在Web應用程序的情況下,啟動了路由器,該路由器確定所需的路徑,如果應用程序是控制台,則啟動了一個控制台應用程序的單個處理器。
該項目的所有類(除最低水平的果皮除外)都包含在框架的擴展,模塊,鉤子和腳本(以下簡稱系統類別)中。
首先,當您需要加載任何類時,貨物者會用鉤子檢查目錄。 Khuki的創建是為了重寫細胞核和擴展的腳本。 Huki也可以用來編寫應用程序本身。
其次,檢查帶有系統類的系統目錄。這些課程是果實的親戚,不建議使用其目錄來觸摸其目錄,以避免兼容性問題並更新框架。如果要更改系統類,請使用鉤子 - 創建具有相同名稱的類-hook類,並且它將無法到達系統腳本。
最後,檢查擴展名。這些是每個人都可以編寫和發布的框架的添加。它們也可以用來編寫應用程序本身。
擴展可以具有自己的模塊(“擴展的擴展”)。如果擴展很大(例如,CMS)並提供修改,則創建模塊。為了確定屬於擴展的模塊,只需將擴展名稱添加到模塊的名稱(例如,Test_moodule將是擴展測試的模塊)就足夠了。如果將模塊添加到不存在的擴展中,則不會加載它。
果物框架中的應用程序是一個低級別的系統,它決定數據處理程序並控制答案的輸出。換句話說,這是一個接受數據,將其傳輸到處理器然後顯示的系統。
在給定和接受的數據可能不同的情況下,需要將其分開為應用。如果您編寫控制台應用程序,它將很簡單 - 簡單地接收和提供數據。但是,除了普通數據外,Web應用程序還報告了Cookie和頭條新聞。
果實標準組件包含兩種類型的應用程序 - 控制台和Web應用程序。
組合應用程序是通過命令行或SSH啟動的應用程序,KP的唯一輸入數據是參數。 Web應用程序是通過瀏覽器啟動並接受GET POST數據,cookie,頭條等的那些應用程序。給定數據也有所不同。
要啟動您的項目,您需要執行兩個步驟:1。連接框架2。運行應用程序
在創建Web應用程序時,標準組件被調整為方便。上述發射的兩個步驟是在SO被稱為的入口處執行的。對於Web應用程序,入口為index.php。該腳本接種了所有HTTP請求,連接框架並啟動Web應用程序。
如果您想編寫自己的應用程序類型,我們建議您將游戲機應用程序的腳本作為基礎。另外,如果需要,您可以重新制定標準應用程序 - 重寫Web應用程序路由器或為控制台編寫。這不需要額外的知識,只需研究標準應用程序如何工作並寫擴展或掛鉤即可。
控制台應用程序是最簡單的 - 在Web應用程序中,這裡沒有使用路由器和控制器。啟動後的標準ConsoleApp應用程序正在尋找類 Handler Console並調用其中的Run()方法。如果沒有這樣的類,將發生關鍵錯誤
類 Fructum Config包含框架的必要配置。要更改它,您應該通過複製/hooks/fructum/config.php複製/system/fructum/config.php來創建自己的鉤子,然後將內容更改為所需的內容。每個參數已記錄
如果您的擴展名需要調整,請勿創建類 - 只需聯繫 Fructum config類的常數即可。添加有關安裝擴展的說明中應將哪些數據添加到配置中的信息。
注意!配置中的數據是恆定的,而不是變量。使用成本控制。
所有詳細信息均可提供給Vicki:http://wiki.blockstudio.net/wiki/fructum