标题 | CI(codeigniter)PHP框架再探-页面访问流程 |
内容 | 在codeigniter(以下简写为CI)的上面一篇文章中,写了CI的基本构架,本文章对新建一个页面以及程序如何访问进行探索,并实际操作实例。 在CI的访问是通过index.php访问,后面可以跟MVC架构中的C然后找到M 然后通过V进行输出。 1.先看访问,CI的访问的是index.php 也就是入口。 2.然后进入路由页面进行路由判断,路由页面在application/config/routes.php 拿实际路由代码解释 $route['default_controller']='pages/view'; //这里定义的是默认C,访问的是pages页面 中view函数(这里可以这样理解,也可以说为方法) $route['blog']='blog';//设置index.php/blog 访问的是blog $route['pages/(:any)'] = 'pages/view/$1'; //设置index.php/(:any) 访问的是pages/view/$1 $1表示后面的(:any) 的任意参数 $route['news/(:any)'] = 'news/view/$1'; $route['news'] = 'news'; 下面的两个同上面的 3.进行路由后找对应的C层(controllers) c层在application/controllers 下 仍然按照上面的默认访问为news 下面列出news在 controllers的代码,文件名为pages.php class News extends CI_Controller { public function __construct(){//初始化 parent::__construct(); //必须进行父类的初始化 $this->load->model('news_model'); //如果没有数据交互可以没有model的调用 } public function index(){ //定义的index函数,如果没有controller的函数部分,则默认调用index汉化 $data['news']=$this->news_model->get_news(); //调用上面初始化的model进行数据查询,并返回给data数组,这里定义的get_news要看下面的model $data['title'] = 'News archive';//设置data数据 $this->load->view('templates/header', $data); //调用view中的templates/header页面 进行页面展示,并将data数据传递给view $this->load->view('news/index', $data); //这里调用view中的 news/index 页面,并传递$data 数据 $this->load->view('templates/footer');//不传递任何数据 } public function view($slug){ //view函数,如果参数$slug存在则进行查询,如果不存在则显示404错误 $data['news_item'] = $this->news_model->get_news($slug); //这里定义的get_news要看下面的model if (empty($data['news_item']))show_404(); //如果获取的内容为空,或者不能获取,则展示404错误 $data['title'] = $data['news_item']['title']; //同样将数据给data,并通过view进行传值。 $this->load->view('templates/header', $data); $this->load->view('news/view', $data); $this->load->view('templates/footer'); } } 4,下面介绍model层,进行的是数据调用和逻辑控制等,在application/models 下,文件名news_model.php 看news_model代码如下: class News_model extends CI_Model{ public function __construct(){ $this->load->database();//调用数据库,以后说数据库设置 } public function get_news($slug=FALSE){//这里是上面调用的get_news if($slug===False){//看是否有查询参数,如果没有获取全部新闻 $query=$this->db->get('news'); return $query->result_array(); }//如果有,则按照条件进行查询,数据调用以后令讲。 $query = $this->db->get_where('news',array('slug'=>$slug)); return $query->row_array(); } } 5.最后面的是view视图 在application/views/news/view.php 代码如下: echo '<h2>'.$news_item['title'].'</h2>'; echo $news_item['text']; echo $news_item['id']; 在页面输入 http://localhost/index.php/news 进行访问了 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。