使用文件名更改Codeigniter控制器类名称

时间:2018-10-08 11:13:17

标签: php codeigniter

更改文件名时,我需要自动更改Ci控制器类名称。

<?php if ( ! defined('BASEPATH')) exit('No direct script access 
allowed');
class $filename extends CI_Controller {
}

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我想你可以做到

$filename = ucfirst(preg_replace("/[^a-z!]/",'',strtolower(pathinfo(__FILE__, PATHINFO_FILENAME))));

class {$filename} extends CI_Controller {}

pathinfo( FILE ,PATHINFO_FILENAME)部分获取当前文件名。

{}确保首先将$ filename转换为其值,然后可以使用该名称创建一个新类。

使用ucfirst(strtolower())可以使首字母大写。

对此我会非常谨慎,因为奇怪的角色会很容易破解。为此,我添加了preg_replace