CodeIgniter自学之旅-入门与简单应用

由于最近被 StartBBS吸引,但其简单的编辑器用起来不太爽,想换成富文本的,但无php经验,故只能先自学相关内容。

CodeIgniter 是基于 MVC 的一套 PHP 快速开发工具包,之后什么什么就不多说了,直接切入正题。

首先你先下载一套开发包在下面就有下载,解压缩之后你会看到一个 system 文件夹和一个 index.php 文件。

打开 CodeIgniter-3.0.1的application 就可以看到 7 个文件夹下面着重介绍一下。

controllers(控制器)

views(视图)

models(模型)

统称 MVC

config(系统配置文件)

下面开始制作

在 application/controllers 新建一个 blog.php 文件

<?php
	class Blog extends CI_Controller{
		function index(){
			echo "come blog";
		}
		function comment(){
			echo "blog comment!";
		}
		function comments($id,$cid,$vid){
			echo "blog commnet!{$id},{$cid},{$vid}";
		}
	}
?>

注:以下默认http://yourdomain/为http://localhost/CodeIgniter/,即直接在CodeIgniter文件夹中修改。

问题:类函数为什么要为index()?

回答:index()类函数是默认执行的。

问题:如何指定自己的类函数?

回答:http://yourdomain/index.php/blog/ 这个地址是没有指定的

而如果是 http://yourdomain/index.php/blog/comment/ 这里表示指定了 comment() 类函数我们就可以写成代码中的第二个函数的样式:

              function comment(){
			echo "blog comment!";
		}

如此这里页面显示的结果就是 blog comment 了

问题:如何带参数,可以带几个参数!

回答:首先说明的是可以带N个参数例如第三个函数中

                function comments($id,$cid,$vid){
			echo "blog commnet!{$id},{$cid},{$vid}";
		}

此时用http://yourdomain/index.php/blog/comment/Bob/love/you 地址访问那么结果就显示 blog comment Bob,love,you

如果要显示在自己设置的前台页面里

$this->load->view('blog');

这句话就是调用了 system/application/views/blog.php 模板文件了

以下是控制器中传数据到视图页面

例如控制器文件

<?php
	class Blog extends CI_Controller{
		function index(){
			$data = array('title'=>"欢迎进入5dayi,com",
						  "heading"=>"欢迎",
						  "message"=>"5dayi,com");
			$this->load->view("blog",$data);
			echo "come blog";
		}
		function comment(){
			echo "blog comment!";
		}
		function comments($id,$cid,$vid){
			echo "blog commnet!{$id},{$cid},{$vid}";
		}
	}
?>

视图文件

<html>
	<head>
		<title><?=$title?></title>
	</head>
	<body>
		你好,<?=$heading?>进入<?=$message?>
	</body>
</html>

此时运行http://yourdomain/index.php/blog/可查看到结果为:come blog 你好,欢迎进入5dayi,com。

参考资料

CodeIgniter 入门与简单应用 此参考资料版本略低,请取舍着看

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏青玉伏案

设计模式(六):控制台中的“命令模式”(Command Pattern)

今天的博客中就来系统的整理一下“命令模式”。说到命令模式,我就想起了控制台(Console)中的命令。无论是Windows操作系统(cmd.exe)还是Linu...

22690
来自专栏云计算教程系列

使用GNU Screen管理持久终端会话

GNU Screen是一种与终端会话配合使用的工具,允许用户在断开连接后恢复会话。Screen可防止会话“超时”或断开SSH连接或本地终端仿真器。单个Scree...

17520
来自专栏阮一峰的网络日志

PHP最佳实践

虽然名字叫《PHP最佳实践》,但是它主要谈的不是编程规则,而是PHP应用程序的合理架构。

30210
来自专栏王亚昌的专栏

路由查找算法优化心得

    项目代码中有一个基础类库,用于解析client到server的路由配置文件,同时管理长连接。路由配置文件格式大致如下所示:

11220
来自专栏小狼的世界

CoffeeScript学习笔记

CoffeeScript编程语言构建于Javascript之上,它可编译成高效JavaScript。可以在Web浏览器上,或者结合Node.js一类的技术构建服...

12710
来自专栏逢魔安全实验室

隐藏在Chrome插件商店中的恶魔——恶意插件User-Agent Swither分析

? ? 0x00 插件背景 — User-Agent Swither 是一款Chrome插件,用户切换访问web时候的User-Agent的,这个插件有51万...

39450
来自专栏依乐祝

.NET Core实战项目之CMS 第三章 入门篇-源码解析配置文件及依赖注入

上篇文章我给大家讲解了ASP.NET Core的概念及为什么使用它,接着带着你一步一步的配置了.NET Core的开发环境并创建了一个ASP.NET Core的...

11120
来自专栏技术随笔

[Linux] 解压zip文件中文乱码问题解决

39580
来自专栏木子昭的博客

百度贴吧 | 通用抓图脚本搞专业爬虫的话,先保证网速够好,再考虑多进程还是多线程~

多进程优势:单个进程的崩溃,不会影响其它进程 随之而来的问题是,进程之间,资源不共享,信息不共享,所以进程通讯的问题,是实现多进程协作,必须解决的问题 ...

407120
来自专栏Play & Scala 技术分享

Play Scala 2.5.x - Play Web开发基础

43680

扫码关注云+社区

领取腾讯云代金券