在我的 CodeIgniter4 代碼庫中,我目前有一些檔案,我已將它們設定為庫,其中包含執行廣泛用途的函式,并且通常與我的資料庫中的特定表相關。這些庫的功能包括:
- 資料分析和格式化(例如,從多個模型中提取資料,執行一些計算,并對其進行格式化以便在視圖中顯示)
- 內容存盤和過濾(例如,根據物體的資料確定應顯示的訊息)
- 表單提交計算(可能很多,并且不想讓控制器過載)
這些庫可以從多個控制器甚至其他一些庫訪問。問題是我不知道它們是否應該是 Libaries 或者它們是否應該被設定為其他東西。我不需要每次訪問 Libaries 的新實體,因為這可能會浪費記憶體。理想情況下,它們將被設定為模型并通過共享實體的工廠訪問,但這些檔案不直接管理來自應用程式的資料。
有什么建議?
uj5u.com熱心網友回復:
您仍然可以將這些檔案設定為庫,然后創建一個服務,以便在您訪問庫的共享實體時。
以下是 Service 函式的外觀:
public static function exampleService($getShared = true)
{
if ($getShared) {
return static::getSharedInstance('exampleService');
}
return new ExampleLibrary();
}
然后這是訪問庫的控制器(或其他庫)的建構式:
public function __construct()
{
$this->example = service('exampleService');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/366011.html
標籤:php 代码点火器 模型视图控制器 构架 codeigniter-4
上一篇:如何在codeignter版本4中安裝phpspreadsheet
下一篇:如何將本機查詢轉換為JPQL
