什么是MVC框架
MVC全名是Model View Controller,是模型(model)、视图(view)、掌握器(controller)的缩写,一种范例的软件设计模式将业务逻辑、数据、界面显示等代码进行组织分离,将M(业务逻辑)、V(用户视图)、C(掌握器)分离开来,降落彼此间的耦合度,从而使系统更加灵巧,易于扩展,也大大提高代码的可重用性,提高了开拓效率。
CodeIgniter安装
Github下载,当前最新版本是3.1.10 版,我在wwwroot下创建了一个新的站点dome,把CodeIgniter解压到该目录即可D:\PHPCUSTOM\wwwroot\dome,如果你是在做事器上则将文件夹的内容全部上传到做事器上的web根目录。
目录构造
这里我们可以看到有三个文件夹,分别是application(项目目录)、system(框架源码)、user_guide(用户手册,可以删除),index.php为程序入口文件,我们的代码编写事情紧张在application目录下完成,这里有着清晰的MVC构造,这里我们紧张操作controllers、models、views目录,配置信息紧张修正config中的config.php、database.php、autoload.php、constants.php、routes.php文件。
|-----application 项目目录 |-----cache 缓存文件 |-----config 项目干系的配置(下面是常用到的配置文件) |-----config.php 项目干系的配置文件 |-----database.php 数据库干系的配置文件 |-----autoload.php 设置自动加载类库的配置文件 |-----constants.php 常量配置文件 |-----routes.php 路由配置文件 |-----controllers 掌握器目录(紧张事情目录) |-----welcome.php 掌握器文件,继续CI_Controller |-----core 项目的核心程序 |-----helpers 项目的赞助函数 |-----hooks 钩子,用于功能扩展 |-----language 措辞包 |-----libraries 通用类库 |-----logs 日志 |-----models 模型目录(紧张事情目录) |-----welcome_model.php 模型文件,继续CI_Model |-----third_party 第三方库 |-----views 视图目录(紧张事情目录) |-----welcome.php 视图文件 CodeIgniter运行逻辑
用户通过浏览器访问系统,系统监听到后从index.php入口进入,根据用户访问的路由去routes.php 查找对应的路由配置(默认指向了controllers中的welcome)去查找对应的掌握器,掌握器根据需求调用不同的方法,这里index方法是载入对应的视图(默认指向了views中的welcome_message.php页面),并将视图返回给用户,由于可以看到Welcome to Codelgniter页面,也表示CodeIgniter安装成功!这里的实际路由地址为http://localhost:8086/index.php/welcome/index/welcome_message.php
路由routes
路由规则定义在 application/config/routes.php 文件中,在这个文件中你会创造一个名为 $route 的数组,利用它你可以设置你自己的路由规则,这里路由默认指向的掌握器为$route['default_controller'] = 'welcome',CodeIgniter 将会考试测验查询一个名为 welcome.php的掌握器并加载它。
掌握器Controller
掌握器是一个类文件,因此一种能够和 URI 关联在一起的办法来命名的,当掌握器的名称和 URI 的第一段匹配上时,它将会被加载,通过 URL 来调用指定的方法,index方法总是在 URI 的 第二段 为空时被调用。以是当我们路由中没有指定方法时默认载入了index方法。
视图Views
在掌握器的index方法中我们可以看到,方法将视图指向了views中的welcome_message.php页面,$this->load->view(\"大众welcome_message\"大众),这样我们就去加载了welcome_message.php页面了,也便是我们看到的Welcome to Codelgniter页面的后台代码了,在视图中我们就可以对业务逻辑和对数据库进行处理了。
欢迎关注本人的公众年夜众号:编程书信
或者搜索"大众年夜众微旗子暗记:ProgramNotes,文章也会在"大众号更新