ci散記
8950 ワード
CodeIgniter
1、 MVC
1.1、M: , ,
1.2、V: , , form
1.3、C: ,
1.4、action: , ,
2、CI MVC
CI :CodeIgniter php , MVC 。
2.1、 url pathinfo
2.2、 : / / ( pathinfo )
2.3、application :
Controllers
Models
Views
2.4、 welcome
2.5、 index
2.6、
3、 (controller):
3.1、 , .php
3.2、 , user.php( )
3.3、 , CI_Controller ,
3.4、
:1. public
2. (_)
! , php (__construct)
4、 (view)
4.1、 :$this->load->view(“user_add”);//
4.2、 :$this->load->view(“user/add”);//
: $this->load->view( );
4.3、 , php
4.4、 :$this->load->vars(“ ”,php );
:$str=“abcdefg”;
$this->load->vars(“str”,$str);
:
4.5、 :
:$str=“abcd”;
$list = array(“id”=>”1”,”name”=>”zhangsan”,”pwd”=>”1234”);
$data[“str”]= $str;
$data[“list”]= $list;
$this->load->vars($data);
4.6、CI php =…?>
4.7、 :$val):?>…
5、 : ,
5.1、$this->load
5.1.1、 system/core/Loader.php
5.1.2、CI_Loader :
$this->load->view()
$this->load->vars()
$this->load->database()
$this->load->model()
$this->load->helper()
$this->load->view(“ ”,$ )
5.2、$this->uri
5.2.1、 system/core/URI.php
5.2.2、CI_URI :
$this->uri->Segment(n) URL n
1, 2, 1 3, 2 4…
1: / / / 1/ 2
echo $this->uri->segment(3);// 1
2:index.php/ / /6
// ;
publicfunction($id=0){
echo $id;// 6
}
5.3、$this->input
5.3.1、 system/core/Input.php
5.3.2、CI_Input :
$this->input->post(‘username’);//$_POST[“username”];
$this->input->server(“DOCUMENT_ROOT”);//$_SERVER[“DOCUMENT_ROOT”]
$this->input->server(“REMOTE_ADDR”);// IP
$this->input->server(“SERVER_ADDR”);// IP
: , $this
6、
6.1、 :application/config/database.php
6.2、 :$this->load->database();
, , db
$this->db
6.3、$query= $this->db->query($sql);// (array_fetch_object)
$sql = $this->db->last_query($sql);// sql
6.3.1、$query= $this->db->escape();// ,
6.4、$list= $query->result();// ,
6.5、$list= $query->result_array();// ,
6.6、$row= $query->row();// ,
6.7、$row= $query->row_array();// ,
6.8、$count= $query->num_rows();//
6.9、$field= $query->num_fields();//
6.10、$count= $query->affected_rows();//
6.11、$id= $query->insert_id();// ID
7、
7.1、 db:
application/config/autoload.php :
$autoload[“libraries”]= array(“database”);
$this->load->database();
7.2、
$name = $this->input->post(“name”);
$pwd = $this->input->post(“pwd”);
//
$data[0]= $name;
$data[1]= $pwd;//
$sql =“insertinto ci_user(name,pwd) values (?,?)”;// ,
$bool = $this->db->query($sql,$data);// boolean
7.3、
application/config/database.php :
$db[‘default’][‘dbprefix’]=‘ci_’;
$db[‘default’][‘swap_pre’]=‘ci_’;
, , , , $db[‘default’][‘dbprefix’]=‘new_’, ci_ new_
8、 (AR )
8.1、 application/cinfig/database.php
$active_record = TRUE;
8.2、 , ,
8.3、 (get):
$res = $this->db->get(‘ ’);//
$list = $res->result();// ,
$list = $res->result_array();// ,
8.4、 (insert):
//
$data[“ ”]= ;//$this->input->post(“name”);
$data[“ ”]= ;
$res = $this->db->insert(“ ”,$data);// boolean;
8.5、 (update):
//
$data[“ ”]= ;//$this->input->post(“name”);
$data[“ ”]= ;
$where = array(“id”=>”4”);
$res = $this->db->update(“ ”,$data,$where);// boolean;
8.6、 (delete):
$where = array(“id”=>”4”);
$res = $this->db->dalete(“ ”, $where);// boolean;
9、AR
9.1、$res= $this->db->select("id,name")//
->from("user")//
->where("id >",3)// id >
->order_by("id desc")//
->limit(3,1)// ; 1 , 3 , tp
->get();//
$list = $res->result_array();
9.2、where()
:“>”、“>=”、“db->where(“ ”,” ”)->get();
:$res= $this->db->where(“name”,”admin”)->get();// “=”
9.2.2、$res= $this->db->where(“ =”,” ”)->get();
:$res= $this->db->where(“name=”,”admin”)->get();//
2、 : array()
9.2.3、$res= $this->db->where(array(“ ”=>” ”,“ ”=>” ”))->get();
:$res= $this->db->where(array(“name”=>”admin”,“id>3”=>”2”))->get();
9.2.4、 $this->db->query($sql,$data);//
9.3、join
9.3.1、 (left join … on)
$this->db->select(“ ”)
->from(“ ”)
->join(' ',' ')
->get(); // (left join … on) :
$this->db->select(“*”)
->from(“user”)
->join('category', user.id= category.id)// (left join )
->get();
9.3.2、 join() , :left、 right、outer、 inner、left outer、right outer
:
$this->db->select(“*”)
->from(“user”)
->join(“category”, “user.id = category.id”,”left”)//
->get();
10、 CI
10.1、
1、 application/core (MY_Controller), CI_Controller , 。
:class MY_Controller extends CI_Controller{
Public function __consreuct(){
Parent::__construct(); //
//
//
}
}
2、 welcome.php (MY_Controller), CI_Controller。
3、
application/config/config.php :
$config['subclass_prefix'] = 'MY_';
11、 (model)
11.1、 :user_model.php 、category_model.php,
: _model , !
11.2、 , CI_Model ,
11.3、 :getAll()…
11.4、 :$this->load->model(“ ”); //
11.5、 :$this->load->model(“ ”,” ”);
, ,
11.6、 , :$this-> -> ();
:$this->load->model(“User_model”); //
$this->User_model->getAll(); // ,
11.6.1、 , :$this-> -> ();
:$this->load->model(“User_model”,”user”); //
$this->user->getAll(); // ,
12、CI url
12.1、 :$this->load->helper(“url”);
: application/config/autoload.php
$autoload['helper'] = array('url');
$this->load->helper(“url”);
:
site_url(“ / / ”) ; // url
base_url();// (“ci/”);
13、CI 、 index.php
13.1、
application/config/routes.php / :
$route['default_controller'] = "welcome"; // welcome
13.2、
application/config/routes.php / :
// ( /)
$route['news/[\d]{6}/([\d\w]+)\.html'] = 'user/show/$1';
http://localhost/CI/index.php/news/201401/caolizhi66.html
news user/show/$1
13.3、 index.php
13.3.1、 apache :LoadModule rewrite_module modules/mod_rewrite.so
13.3.2、 , .htaccess , :
RewriteEngine on //
RewriteCond %{REQUEST_FILENAME} !-d //
RewriteCond %{REQUEST_FILENAME} !-f //
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] //
index.php
14、CI
$this->load->library('pagination');
1 $config['base_url'] = $url;
2 /* URL
3 a、b , url /news/page/
4 c、d , url /news?
5 */
6 $config['total_rows'] = $total;// , ,
7 $config['per_page'] = $pagesize; // 。 , 。。 。 10 。
8 $config['page_query_string'] = TRUE;
9 /* 。 true url &per_page=3。( per_page , $config['query_string_segment'] )
10 c、d localhost/news?&per_page=2 , 。get per_page 3
11 */
12 $config['first_link'] = ' '; //
13 $config['last_link'] = ' '; //
14 $config['next_link'] = ' >'; //
15 $config['prev_link'] = ''; //
17 $config['cur_tag_close'] = '';
18 /* 。 。
19 , 。 current css
20*/
21 $config['num_links'] = 2;// 。 5 , 3、4、5、6、7 。
22 $config['uri_segment']=4;
23/* a)、b) , 。
24 localhost/news/page/3 uri_segment 3。localhost/news/title/page/3 4
25 */
26 $config['use_page_numbers']= TRUE;
27/* a)、b) 。 ,page 。false
15.
constants.php
// define('GATEWAY_URL', 'http://pay.bebanks.com');