在学习了关于HTML,PHP及数据库的一些知识后,开始了解MVC框架结构。
所谓MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式。
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
说白了,MVC并非一种新的语言,而是用一种规范的方式来连接数据库和前段界面。使用MVC可以提高开发效率,便于网站的后期运行和维护。类似的开发框架还有很多,如:Struts, Spring Zend Framework(简称ZF)
而codeigniter(以下简称CI),是一个是一个符合MVC的构建的小型“轻量级”框架,解决了像Zend Framework等中大型框架运行速度慢的缺点,适合开发大流量的网站。
CI的文件目录如下:
整个流程就是用户访问的界面在view中定义,用户需要提交的数据或者访问的数据需要通过controller中的控制器作为桥梁来间接操作数据库中的内容。而这个流程需要一个入口文件,那就是CI目录下最外层的index.php。访问网址的顺序为:localhost/CodeIgniter_2.2.0/index.php/控制器的文件名/控制器中的方法名
接下来,我们以如何通过控制器访问view中的用户界面这个小例子来说明CI的工作流程。
首先,我们在controller下创建一个文件:login.php 在里面写一个控制器,代码如下:
class Login extends CI_Controller {
public function index()
{
$this->load->view('login');
public function index()
{
$this->load->view('login');
}
}
控制器是一个类,它需要继承父类 CI_Controller ,且类名的首字母需要大写
在方法index中的代码就是说在加载这个方法是就跳转到view文件夹下的login界面中。
这里需要注意的是:如果文件后缀名是php,着可以省略,如果是其他的,则需要添加上去。
接着,我们在view文件夹下创建一个login.php的文件,编辑代码如下:
<html>
<head>
</head>
<body>
<hl>登陆界面</hl>
<head>
</head>
<body>
<hl>登陆界面</hl>
<p>欢迎进入CI学习网页</p>
</body>
</html>
</body>
</html>
</body>
</html>
</html>
然后我们保存之后,在浏览器上输入:localhost/CodeIgniter_2.2.0/index.php/login,就出现了如下界面:
相信你通过这个例子已经对CI中如何通过控制器访问用户界面的流程有了一个大致的了解吧。这个过程就是先创建一个控制器,在控制器中写一个方法,在方法中通过语句调用view中的文件。可能到这里,你会觉得CI不具有任何优势,反而显得很麻烦。只是因为在这里我们演示的案例还比较小,在实际的开发过程中,大量的界面通过控制器进行管理和相互联系是有利于开发者的。
相关推荐
10. **持续集成/持续部署(CI/CD)**:介绍了如何利用Jenkins、GitLab CI/CD等工具实现自动化构建和部署。 在"Learn-main"这个文件夹中,很可能是按照框架类别或学习进度组织的文件和文档,包含了代码示例、笔记、...
它被广泛认为是iOS开发的首选语言,尤其适合初学者入门。 - **Objective-C**:尽管Objective-C仍然是一个有效的选择,但Swift因其更简洁和强大的特性而逐渐成为主流。 2. **集成开发环境(IDE):** - **Xcode**...
在学习Objective-C时,推荐书籍和资源有《Programming in Objective-C 2.0》、《Learning Objective-C 2.0》等,这些书籍可以帮助快速入门,并深入理解Objective-C的特性。同时,对于Objective-C的内存管理,特别是...
### MSP430入门之MSP430学习笔记 #### 学习笔记概述 本学习笔记主要聚焦于Texas Instruments (TI) 公司生产的16位超低功耗单片机MSP430的学习心得与体会。通过本文档,希望能够帮助读者更好地理解和掌握MSP430的...
7. **持续集成/持续部署(CI/CD)**:针对Go语言的CI/CD解决方案,如Golang持续集成工具Travis CI、Jenkins、CircleCI等,以及如何配置和使用这些工具的教程和最佳实践。 通过"Awesome-Links"这样的开源项目,开发者...
尽管cocos2d for iPhone的使用不依赖于深入的Objective-C知识,但熟悉该语言将有助于更高效地利用框架特性。 2. **探索官方文档与教程**:cocos2d for iPhone提供了详尽的文档和一系列教程,覆盖了从入门到进阶的...
6. **软件开发**:敏捷开发、版本控制(Git)、持续集成/持续部署(CI/CD)的实践分享。 7. **硬件与嵌入式**:电子电路设计、单片机编程、物联网(IoT)项目等。 8. **算法与数据结构**:排序、查找、图论等基础算法的...
特别是在持续集成(CI)环境中,自动化测试更是不可或缺的一部分。 #### 三、本书面向对象及目标 - **面向编程基础较弱的读者**:本书提供了一个循序渐进的学习路径,适合完全没有编程经验的新手入门。 - **面向有...
- **持续集成/持续部署(CI/CD)**:Jenkins等工具的使用方法。 ### 学习建议 1. **理论与实践相结合**:在学习基础知识的同时,动手实践案例中的每一个步骤,加深理解。 2. **参与社区交流**:加入C#开发者社区,如...
- Jenkins等CI工具的使用 - 测试驱动开发(TDD) ### 第 23、24 课:高级特性与最佳实践 - 装饰器与上下文管理器 - 迭代器与生成器 - 并发编程(多线程、多进程) - 性能优化与代码重构 - 设计模式简介 ### 第 25...
Java API是Java的核心库,包含了各种类、接口和异常,为开发者提供了丰富的功能,如I/O流、网络编程、多线程、集合框架等。文档中的"JAVA API官方文档中文版.CHM"和"Java API文档中文版.chm"是Java API的中文参考...
#### 一、Mina入门 ##### 第一步:下载使用的Jar包 1. **Mina核心库**:登录Mina官网下载`mina2.0.1.zip`,解压后得到`mina-core-2.0.0-M1.jar`。 2. **日志框架SLF4J**:访问SLF4J官网下载`slf4j1.5.2.zip`,解压...
如果考虑到操作系统作为软硬件桥梁的特殊地位,那么它可能看上去比一般的软件系统更难理解,因为其核心部分往往包含许多直接针对CPU、内存和 I/O端口的操作,它们夹杂在一片代码汪洋之中,显得更加晦涩。 我们有许多...
如果考虑到操作系统作为软硬件桥梁的特殊地位,那么它可能看上去比一般的软件系统更难理解,因为其核心部分往往包含许多直接针对CPU、内存和 I/O端口的操作,它们夹杂在一片代码汪洋之中,显得更加晦涩。 我们有许多...