CodeIgniterライブラリフォルダーのdatatablesライブラリに点火しました。
ライブラリの一部のコード
class Datatables
{
/**
* Global container variables for chained argument results
*
*/
protected $ci;
protected $table;
protected $distinct;
protected $group_by;
protected $select = array();
protected $joins = array();
protected $columns = array();
protected $where = array();
protected $filter = array();
protected $add_columns = array();
protected $edit_columns = array();
protected $unset_columns = array();
/**
* Copies an instance of CI
*/
public function __construct()
{
$this->ci =& get_instance();
}
次に、モデルのライブラリを呼び出しました
class Common_Model extends MY_Model{
function __construct(){
parent::__construct();
$this->load->library('Datatables.php');
}
次に、ライブラリ関数を呼び出そうとしました
function select_fields_joined_DT($data, $PTable, $joins = '', $where = '', $addColumn = '',$unsetColumn='')
{
/**
*
*/
$this->datatables->select($data);
if ($unsetColumn != '') {
unset_column($unsetColumn);
}
$this->datatables->from($PTable);
if ($joins != '') {
foreach ($joins as $k => $v) {
//$this->datatables->join($v['table'], $v['condition'], $v['type']);
}
}
if ($addColumn != '') {
$this->datatables->add_column("Actions", $addColumn);
}
$result = $this->datatables->generate();
return $result;
}
phpstormでこのエラーが表示されることを除いて、すべて正常に動作します。
Field Accessed via magic method
ドキュメントのコメントでこのエラーを削除しようとしましたが、どうすればそれができるのかわかりません。
ドキュメントのコメントなしでこれを削除する場合は、マジックメソッドによるフィールドへのアクセスについて通知する
プロジェクト設定> 検査> [〜#〜] php [〜#〜]> 未定義> 未定義フィールド
質問のコメントでLazyOne で述べたように:
それらのクラスに属するPHPDocコメントの
@property
を介して宣言する必要があります。
/**
* @property string $bar
*/
class Foo {
public function __get($name) {
if ($name == 'bar') {
return 'bar';
}
return NULL;
}
}
Dmitry Dulepovの記事の抜粋 「クイックヒント:魔法のメソッドとPhpStorm」 。