?前端控制器前端控制器是什么

  介绍

这篇文章给大家介绍前端控制器前端控制器是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>前端控制器(前端控制器):

用于集中控制用户的所有请求的组件,将用户的请求发送到具体的应用程序控制器。在CI框架中,指的就是框架的入口文件index . php。前端控制器本身是一种设计模式,详细可参考《J2EE设计模式》。

<强>应用程序控制器

应用程序控制器是具体的处理用户请求URL的控制器,通常将一组相关的处理或者请求放置在一个应用程序控制器中,例如:用户可能包含用户的注册,验证,个人信息,个人页面等相关操作。

<强> MVC

老生常谈的一个术语,是一种代码分层和组织模式。将代码分为M(模型、业务逻辑),V(看来,视图),C(控制器,控制器)等层次,便于将业务逻辑部分和视图渲染部分分离,减少代码的耦合。目前PHP中许多框架都基于MVC模式,如ZF, YII、CI等

<强>路线路由

虽然名为路线,但这里并不是路由器,而是指截取用户的请求并将请求转发到特定的控制器处理的过程。不同的框架的路由不同,但基本原理相同。

<强>钩钩子

最初的挂钩是指“消息传递中一个环节,用于监控消息的传递,并在消息处理之前,添加特定的处理”。这里的钩是指,在不改变框架核心源码的基础上增加或更改系统的核心功能,最典型的情况包括:在控制器加载之前或加载完成之后运行特定的脚本。

<强> CI框架配置

本文的基本环境:Linux x86_64 GNU/Linux。安装了PHP (CGI) + Nginx + Mysql +复述(所以本文的许多服务器相关的配置都是以Nginx为主,而暂时忽略Apache服务器)。

首先下载CI框架的源码,下载地址为:http://codeigniter.org.cn/downloads目前稳定版本是2.2.0。将源码解压到文件夹(假设为/usr/Nginx/html/CI目录)。

配置词框架之前,先浏览一下框架的目录结构:

 ?前端控制器前端控制器是什么

其中:

应用程序:应用程序的目录,你的所有的应用代码都应该位于这个目录

索引。php:框架的入口文件

静态:我们自己建立的目录、放置一些CSS,形象和js等静态文件(这完全可以放到应用目录下,看个人喜好)

系统:CI框架的系统文件,也是源码阅读的主要部分

user_guide:用户指导,类似于离线的用户手册。

CI框架需要配置的地方比较少:

<强> 1。配置线路

Routes.php中配置的是默认的应用程序控制器和404页面。打开应用程序/配置/路线。php文件,配置如下:

美元路线(& # 39;default_controller& # 39;],=,“index";   $路线[& # 39;404 _override& # 39;],=, & # 39; & # 39;;

<强> 2。配置数据库的数据库。php

如果你的应用程序需要提供动态内容,那么数据库几乎是必不可少的配置。打开应用程序/配置/数据库。php文件,该文件内容如下:

 ?前端控制器前端控制器是什么

CI框架是支持多数据流连接的,默认是当前默认的连接,active_record用于指定是否启用手臂(Active Record模型)。每个配置项非常简明,这里不再做过多介绍。

<强> 3。去掉索引。php

现在访问你的应用程序,url应该类似于这样:

test.xq.com/index.php/index“刷:xhtml;”   test.xq.com/index.php/welcome

注意每个请求都会带有index . php段。去掉index . php会让URI更加美观。

打开刚刚添加的test.xq.com.conf文件,在服务器中添加如下配置:

if  (request_filename 美元;! ~ *,/(ico |位于静态| js javascript css | | | |上传照片|机器人\ \ . txt |索引。php |指数\ . html))   {   ,,rewrite  ^/(. *),美元/index . php ? 1美元,去年;   }

重启服务器后,现在,URL的访问方式变成了:

test.xq.com/index“刷:php;”   test.xq.com/welcome

是不是简洁多了:D

4。添加。html访问后缀

可能还有人喜欢url中添加特定的后缀,例如. html后缀使你的应用程序更类似于一系列静态文件。配置方法,是在应用程序/配置/配置。php中,更改如下配置为:

配置美元[& # 39;url_suffix& # 39;],=, & # 39; . html # 39;;

CI框架的更多配置可以参考:

让Nginx支持。htaccess(本文没有提及使用。htaccess重写的内容,可以参考之)http://www.php100.com/html/program/nginx/2013/0905/5537.htmlCI框架集成Smarty,习惯用Smarty模板引擎的童鞋可以看看http://www.kankanews.com/ICkengine/archives/70302.shtml配置Vhost

?前端控制器前端控制器是什么