我在此處閱讀了關於將parms傳遞給類庫(例如,How to pass multiple parameters to a library in CodeIgniter?)的一些其他帖子,我還閱讀了庫部分下的用戶手冊。如何將參數傳遞給類構造函數 - 不是數組
我想知道的是,如果可以將參數作爲單個變量傳遞而不是數組?
我班 - 我想用我的笨之外的解決方案 - 看起來就像這樣:
<?php
class ABC
{
private $_hostname;
private $_password;
private $_username;
private $_connection;
private $_data;
private $_timeout;
private $_prompt;
public function __construct($hostname, $password, $username = "", $timeout = 10)
{
set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/phpseclib');
include('Net/SSH2.php');
$this->_hostname = $hostname;
$this->_password = $password;
$this->_username = $username;
} // __construct
public function connect()
{
}
public function dosomething()
{
}
我知道我可以這樣做:
$params = array('_hostname' => $ip, '_password' => 'password', '_username' => '');
$this->load->library($classname,$params);
但我不希望使用數組是因爲這個類將被非CI解決方案重用。 我試着恢復使用標準的include()語句。所以代碼如下:
set_include_path(get_include_path() . PATH_SEPARATOR . 'var/www/myCIapp/application/libraries');
include_once('libraries/'.$classname.'.php');
但它抱怨說它無法找到包含文件。該特定訊息爲:
甲PHP錯誤遇到
嚴重性:警告
消息:include_once()的[function.include]:用於包含失敗開口 '庫/ HP5406_ssh.php' (include_path中= ':在/ usr /共享/ PHP的:在/ usr /共享/梨:無功/網絡/ myCIapp /應用/庫/')
文件名:型號/ ss_model.php
行數:88
任何意見,將不勝感激。感謝您閱讀...
在實例化類時將變量作爲參數傳遞給構造函數。 –
你能更具體一點嗎?例如,我已經知道如何做:$ params = array('_ hostname'=> $ ip,'_password'=>'password','_username'=>''); \t \t $ this-> load-> library($ classname,$ params); //開關型號名稱必須大寫。 – dot
我想你會在codeigniter之外使用它,所以在這種情況下,你可以使用'$ abc = new ABC($ var1,$ var2,$ var3,$ var4)來實例化它;',不知道我是否理解它已經。 –