用户
 找回密码
 入住 CI 中国社区
搜索
查看: 90698|回复: 76
收起左侧

CodeIgniter 入门与简单应用

    [复制链接]
发表于 2007-10-15 13:24:41 | 显示全部楼层 |阅读模式
CodeIgniter 是基于 MVC 的一套 PHP 快速开发工具包,之后什么什么就不多说了,直接切入正题。
首先你先下载一套开发包在下面就有下载,解压缩之后你会看到一个 system 文件夹和一个 index.php 文件。
打开 system/application 你就可以看到 7 个文件夹下面着重介绍一下。
controllers(控制器)
views(视图)
models(模型)
统称 MVC
config(系统配置文件)

下面开始制作
在 system/application/controllers 新建一个 blog.php 文件
PHP复制代码
<?php
class Blog extends Controller
{
    function index()
    {
        echo "come blog";
    }
}
?>
 
复制代码

Blog 扩展 Controller 类。

问题:类函数为什么要为index()?
回答:index()类函数是默认执行的。
问题:如何指定自己的类函数?
回答:http://yourdomain/codeigniter/index.php/blog/ 这个地址是没有指定的
而如果是 http://yourdomain/codeigniter/index.php/blog/comment/ 这里表示指定了 comment() 类函数我们就可以这样写了:
PHP复制代码
<?php
class Blog extends Controller{
    function index(){
        echo "come blog";
    }
    function comment(){
        echo "blog comment!";
    }
}
?>
复制代码

那么这里页面显示的结果就是 blog comment 了
问题:如何带参数,可以带几个参数!
回答:首先说明的是可以带N个参数例如
PHP复制代码
<?php
    class Blog extends Controller{
        function index(){
            echo "come blog";
    }
    function comment($id,$cid,$vid){
        echo "blog comment!{$id}{$cid}{$vid}";
    }
}
?>
复制代码

用 http://yourdomain/codeigniter/index.php/blog/comment/1/12/123 地址访问那么结果就显示
blog comment 1,23,123
就这么简单就可以完成一个带参输出

有些同志问了,如果要显示在我设置的前台页面里呢?该如何做?
别急等我慢慢道来。

$this->load->view('blog');
这句话就是调用了 system/application/views/blog.php 模板文件了

以下是控制器中传数据到视图页面
例如控制器文件
PHP复制代码
<?php
class Blog extends Controller{
    function index(){
        $data = array('title' => '欢迎进入 http://codeigniter.org.cn',
                      'heading' => '欢迎',
                      'message' => 'http://codeigniter.org.cn');
        $this->load->view('blog', $data); //这里的 blog 是视图的名字,所以不需要写扩展名,$this->load->view('folder/blog', $data)这样是在 folder 文件夹里面的 blog.php 文件。
    }
}
?>
复制代码

视图文件
HTML复制代码
<html>
<head>
<title><?=$title?></title>
<head>
<body>
你好,<?=$heading?>进入<?=$message?>
</body>
</html>
复制代码

今天就说到这里了,同志们,有点了解了吧。
还有关于构造器,如果是 PHP4 的可以直接:
function blog()
如果是 PHP5 的写成:
function __construct()

如果想改默认首页请到 system/application/config/routes.php

找到

PHP复制代码
$route['default_controller'] = "welcome";
复制代码


把 welcome 改成你自己想默认的名字(不需要写.php)
 楼主| 发表于 2007-10-16 09:22:01 | 显示全部楼层
好的,没问题,等下写个发上来,呵呵!
 楼主| 发表于 2007-10-18 08:57:15 | 显示全部楼层
呵呵,我一直觉得她非常有潜力!
哈哈
 楼主| 发表于 2008-1-10 14:28:04 | 显示全部楼层
我修改了,哈哈~
 楼主| 发表于 2008-3-24 15:12:21 | 显示全部楼层
请报告你使用的 Web 服务器。还有 CI 版本。
 楼主| 发表于 2008-3-29 08:28:50 | 显示全部楼层
原帖由 浪迹天涯 于 2008-3-24 16:05 发表
CI :1.6.1版本   Web 服务器:IIS v5.1

基本可以判断是 IIS 的问题,换 Apache。
 楼主| 发表于 2008-4-9 15:13:55 | 显示全部楼层
楼上你不看论坛吗??
http://codeigniter.org.cn/forums/thread-415-1-1.html

我费尽翻译的,竟然没人看!!!!!!!!!!!!!!!!!!!
 楼主| 发表于 2008-4-9 22:16:01 | 显示全部楼层
呵呵,别见怪,我开玩笑的~欢迎提问~~
 楼主| 发表于 2008-11-5 21:35:56 | 显示全部楼层
你怎么 load 的 view ?贴出代码
 楼主| 发表于 2009-7-5 23:37:13 | 显示全部楼层
43 楼,你的 PHP 版本太新了,请用 php 5.2 以下的

本版积分规则