当前位置: 首页 > 后端技术 > PHP

CodeIgniter注释

时间:2023-03-30 03:28:02 PHP

去掉URL中的index.php打开Apache的mod_rewrite模块,在项目目录下新建一个.htaccess文件,添加如下内容*)$index.php/$1[L]获取CI超级对象$CI=&get_instance()$version_id=$CI->config->item("version_id");使用辅助函数辅助函数一般位于system/helpers或application/helpers目录下。加载URL辅助函数,其文件名为xxx_helper.phppublicfunctionuse_help(){//加载单个$this->load->helper('url');//加载辅助函数,单个或多个//路径:application\helpers\demo_helper.php和application\helpers\test_helper.php//$this->load->helper(['demo','test']);回声网站网址();echobase_url();}extensionhelperFunction要扩展原来的数组辅助函数,首先你必须创建一个文件application/helpers/MY_array_helper.php,然后在文件中添加或覆盖该函数。https://codeigniter.org.cn/user_guide/general/helpers.html设置自定义前缀扩展辅助函数的文件名前缀,与扩展类库和核心类相同。要自定义这个前缀,可以打开application/config/config.php文件,找到这一项:$config['subclass_prefix']='MY_';使用codeigniter类库所有的系统类库都位于system/libraries/目录下大多数情况下,在使用之前,需要先在controller中进行初始化,使用如下方法//加载类库$this->load->library('encrypt');//使用加载的类库$tt=$this->encrypt->encode('123','132');创建自己的类库。自定义类库文件应放在application/libraries目录中。当你初始化类时,CodeIgniter会在这个目录中寻找这些类。备注:文件名首字母必须大写,例如:Myclass.php类名定义的首字母必须大写,例如:classMyclass类名和文件名必须一致例如load->library('someclass');echo$this->someclass->some_class(x);//目录:libraries/service/emr.php,例如:$this->load->('service');调用$this->service->emr->some_fun();}扩展原生类库要扩展原生类库,只需新建一个文件,以MY_开头,继承原有类库即可。例子:扩展原来的Email类库,命名为application/libraries/MY_Email.php,然后定义你的类load->view('welcome_message');}}model模型类位于您的application/models/目录中。模型命名规则1.类名首字母必须大写,其余小写。2、文件名和类名要一致。比如创建一个Demo_model.php,路径:applicationmodelsDemo_model.phpdb->get('demo',2);返回$query->result_array();}/***插入记录*/publicfunctioninsert_record($data){$this->name=$data['name'];$this->age=$data['年龄'];$this->addr=$data['addr'];$this->db->insert('demo',$this);}/***更新记录*/publicfunctionupdate_record($data){$this->name=$data['name'];$this->age=$data['年龄'];$this->addr=$data['addr'];$this->db->update('demo',$this,array('id'=>$data['id']));}}在控制器类中调用demoextendsCI_Controller{publicfunctionuse_model(){$data=['name'=>'Daiod','age'=>24,'addr'=>'Chigo',//'id'=>8];//加载模型$this->load->model('demo_model');//$this->load->model('demo/test','demoModel');//如果模型下有子目录,则$this->load->model('xxx/xxx');//为模型定义一个别名$this->load->model('demo_model','demoModel');//调用模型中的方法$this->model_name->method();//$res=$this->demo_model->get_last_two_record();$res=$this->demoModel->get_last_two_record();print_r($res);//插入记录//$this->demo_model->insert_record($data);//使用demo_model的别名//$this->demoModel->insert_record($data);//更新//$this->demo_model->update_record($data);}}打印日志修改config.php文件/*|-----------------------------------------------------------------------|错误记录阈值|------------------------------------------------------------------------------||您可以通过将阈值设置为大于零来启用错误日志记录。的|阈值决定记录的内容。阈值选项是:||0=禁用日志记录,错误日志记录关闭|1=错误消息(包括PHP错误)|2=调试消息|3=信息性消息|4=所有消息|*/$config['log_threshold']=1;//默认0,这里修改错误级别error,debug,info使用publicfunctionlog_write(){//打印日志,对应配置文件中设置的错误级别log_message('error',"thisis错误信息");log_message('debug',"这是调试信息");log_message('info',"这是调试信息");echo"
";}DatabaseOperationconfiguration配置文件路径:CodeIgniterapplicationconfigdatabase.php自动连接,需要修改CodeIgniterapplicationconfigautoload.php文件,$autoload['libraries']=array();//修改为$autoload['库']=array('数据库');手动连接$this->load->database();operationquerypublicfunctionselect(){#获取表中的所有记录$query=$this->db->get('demo');//等价于$query=$this->db->query("select*fromdemo");//返回所有记录的数组$data=$query->result_array();//返回所有记录的数组对象$data=$query->result();//条件查询$data=$this->db->select('name','addr')->from('demo')->where('name=\'xiaoli\'')//->where('id>=',1)->limit(2)->order_by('age')->get()->result_array();//返回数组//where条件//where(array('名称'=>'玛丽','id>'=>'1'));表示name字段值为mary,id字段值为1//where('name','mary')orwhere('name=','mary');表示查询条件为name字段的值为mary//row()只返回一行记录,返回一个对象$data=$query->row();#row_array()只返回一行记录,返回一个数组$data=$query->row_array();//num_rows()返回查询结果行数$data=$query->num_rows();//num_fields()返回查询请求的字段数$data=$query->num_fields();//free_result()释放当前查询占用的内存并删除关联的资源标识$data=$query->free_result();打印_r($数据);#返回上次运行的查询sql语句echo$this->db->最后一个查询();//select*fromdemo#获取插入的自增Idecho$this->db->insert_id();//写入和更新操作影响的行数echo$this->db->affected_rows();//返回指定表的总行数echo$this->db->count_all('demo');//输出当前数据库版本号echo$this->db->version();//输出当前数据库平台echo$this->db->platform();//mysqli//查询语句$this->db->select('column1','column2');//选择查询字段$this->db->get('table_name');//表示SELECT*FROMtable_name$this->db->get('table_name',10,20);//参数2表示每页记录数(limit),参数3表示偏移量(offset),SELECT*FROMtable_nameLIMIT20,10$this->db->select_max();//接受两个参数,参数2表示别名$this->db->select_min();//同上$this->db->select_avg();//同上$this->db->select_sum();//同上$this->db->from('table_name');//选择表名$this->db->join('table2','table2.pid=table.id','left');//$这个->db->from('table1');$this->db->get_where();//示例$this->db->get_where('table_name',array('id'=>$id),$limit,$offset);$this->db->where('字段','值');//where字段='值';或者where('id>',2);$this->db->or_where();//子句或连接$this->db->where_in('xx',['xx','xx']);//where_in('username',['乔','露西','莉莉']);$this->db->or_where_in('xx',['xx','xx']);$this->db->where_not_in();$this->db->or_where_not_in();$this->db->like('title','match');//wheretitlelike'%match%';参数3表示before(%match),after(match%),none(match)默认为both//示例$array=array('title'=>$match,'page1'=>$match,'page2'=>$match);$this->db->like($array);//WHEREtitleLIKE'%match%'ANDpage1LIKE'%match%'ANDpage2LIKE'%match%'$this->db->or_like();//或连接$this->db->not_like();$this->db->or_not_like();$this->db->group_by();$this->db->distinct();$this->db->having();$this->db->or_having();$this->db->order_by();$this->db->limit();$this->db->count_all_results();}insertpublicfunctionadd(){//插入数据,插入的数据会自动转换过滤,例如:$data=array('name'=>"xiaoming",'age'=>23,'addr'=>'chognqing');$this->db->insert('demo',$data);//insert_batch()插入多项,$data为二维数组}updatepublicfunctionupdate(){//$data=array('name'=>'xiaoming','age'=>26,'addr'=>'shanghai');//$where="name='xiaoming'";//$this->db->update('demo',$data,$where);//demo是表名//or//$this->db->where('id',6);//$this->db->update('演示',$数据);//或者$this->db->set('key','value');$data=['name'=>'你好'];$bool=$this->db->update('demo',$data,['id'=>3]);//update_batch()//修改id为3的记录名,改成nihaovar_dump($bool);//成功返回true}Deletepublicfunctiondel(){//$this->db->在哪里('id',6);//$this->db->delete('demo');//相当于$bool=$this->db->delete('demo',array('id'=>5));//返回布尔值}操作session//使用session$this->load->library('session');//setsession$data=array('username'=>'johndoe','email'=>'johndoe@some-site.com','logged_in'=>TRUE);//设置时间,也可以在config.php中设置$this->session->sess_expiration='14400';//只加一个值$this->session->set_userdata('info',$data);//添加多个值//$this->session->set_userdata($data);//检查一个session值是否$this->session->has_userdata('info');//getsession$info=$this->session->userdata('info');//or$info=$this->session->info;//删除单个会话$this->session->unset_userdata('info');//删除同时取多个值//$array_items=array('username','email');//$this->session->unset_userdata($array_items);操作cookie//加载辅助函数$this->load->helper('cookie');//添加cookiesetcookie("name",'lds',86500);//或$this->;input->set_cookie("name",'lds',60);//获取cookie$name=get_cookie('name');//删除一个cookiedelete_cookie('name');//删除多个cookiedelete_cookie(['姓名','电子邮件']);