簡體   English   中英

Codeigniter中的多個類

[英]Multiple classes in Codeigniter

我想創建一個對象數組,所以我要做的是創建一個庫,但是我不知道如何在循環中實際動態創建它的實例並將每個實例存儲在一個數組中。 誰能告訴我?

要創建100個對象,您只需從0到99循環,每次創建一個對象並將其存儲在數組中。

class Foo { ... }

$fooArray = array();
for ($i = 0; $i < 100; $i++) {
    $fooArray[] = new Foo();
}

我不確定這個問題與CodeIgniter有什么關系。 還有更多您沒有提到的嗎?

通過設計,加載CodeIgniter庫只能執行一次。 隨后加載相同庫的嘗試將被忽略。 您可以(通過某種方式)通過告訴CI每次加載該庫的另一個副本時使用不同的名稱實例化該類來解決此問題 (請參閱此問題的答案)

更好的解決方案可能是自己創建類,而不是使用CI的庫加載機制。 這樣,您可以創建和存儲所需數量的副本。

編輯:我建議將類保留在庫目錄中,僅使用PHP的include()使它在需要時可用於您的模型/控制器。

至於從您的類中訪問CodeIgniter,您可以使用以下代碼進行操作:

$CI =& get_instance();

$CI->load->helper('url');
$CI->load->library('session');
$CI->config->item('base_url');

get_instance()函數返回CodeIgniter超級對象,並將其分配給$ CI變量后,就可以像在模型或控制器內一樣訪問CI的任何方法,只是使用$ CI代替$ this。 有關更多信息,請參見此鏈接

請檢查此鏈接:我認為這是最好的方法:

從Codeigniter中的類創建對象

它使用Code Igniter代碼,但與其他任何OOP應用程序一樣,它允許您使用“新”字。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM