arnouxor / alienosor
此包已被废弃且不再维护。未建议替代包。
关于此包最新版本(v2.0.18)没有可用的许可信息。
在Codeigniter下优化Ajax / Basic或REST调用
v2.0.18
2017-10-02 07:25 UTC
Requires
- php: >=7.1
README
Alienosor允许您通过强制提取业务逻辑来清理控制器
- 安全性:您必须控制输入变量
- 整洁性:您必须将业务逻辑放在库/模型中
- 易用性:它检查变量,处理返回值和其他小事情
一切只需简单的:$this->alienosor->process({params})
安装
composer require arnouxor/alienosor
然后在控制器中加载第三方库
$this->load->add_package_path(FCPATH . 'vendor/arnouxor/alienosor');
$this->load->library('alienosor');
$this->load->remove_package_path(FCPATH . 'vendor/arnouxor/alienosor');
Ajax调用
public function ajax_search()
{
$config = array(
['field' => 'searchText', 'label' => '', 'rules' => 'trim|required|integer'],
);
// appel d'alienosor
$this->alienosor->process($config, "AJAX", array(
["type" => "library", "file" => "myfirst_lib", "method" => "method1", "params" => array("searchText")],
["type" => "model", "file" => "myfirst_model", "method" => "method2", "params" => array("searchText", "__LAST_RESULT", "mycustomvariable")]
));
// le retour est géré automatiquement
}
REST调用
使用https://github.com/maltyxx/restserver
public function get()
{
$response = $this->restserver->protocol();
$config = array(
['field' => 'name', 'label' => '', 'rules' => 'trim|min_length[0]|max_length[100]'],
);
// appel d'alienosor
$results = $this->alienosor->process(
$config,
"BASIC",
[
["type" => "model", "file" => "artist_model", "method" => "search", "params" => ["name"]]
]
);
$this->restserver->response($results, 201);
}
转换
您可以调用一个转换方法,在将其发送到所需方法之前转换一个参数。
$config = [
['field' => 'myData', 'rules' => 'trim|alpha_dash', 'transformation' => 'myMethod'],
];