CodeIgniter安装和入门使用(一)

CodeIgniter是个轻量级功能也强大的框架,适合做自己做小项目用,本文介绍CodeIgniter的安装和使用。

安装

官网链接http://codeigniter.org.cn/user_guide/installation/downloads.html ,最新的版本为3.0.2,直接git下载下来就ok。安装说明如下:

1,解压压缩包,然后将文件夹的内容全部上传到服务器上的web根目录,如/www/web/.

2,如何是本地的话,可以直接将文件夹改成自己项目的名字,放到自己的web根目录下,如mac上是

/Users/yanzi/Sites/,将解压缩后的文件夹改名为CodeIgniter;

3,找到application/config/config.php,设置网站根目录:(以下都是以部署在本地为例)

$config[‘base_url‘] = ‘http://localhost/~yanzi/CodeIgniter/‘;

如果有数据库的话,找到 application/config/database.php设置相关参数即可。

其他的基本不用设置了,但是由于CI是单入口的,即所有的访问都要先经过网站一级目录下的index.php.有几个参数还是要多注意下,打开根目录下的/Users/yanzi/Sites/CodeIgniter/index.php,找到以下几行:

$system_path = ‘system‘;
$application_folder = ‘application‘;
$view_folder = ‘‘;

前两个基本不用动,view_folder是空,但是看以下代码可知:

	// The path to the "views" folder
	if ( ! is_dir($view_folder))
	{
		if ( ! empty($view_folder) && is_dir(APPPATH.$view_folder.DIRECTORY_SEPARATOR))
		{
			$view_folder = APPPATH.$view_folder;
		}
		elseif ( ! is_dir(APPPATH.‘views‘.DIRECTORY_SEPARATOR))
		{
			header(‘HTTP/1.1 503 Service Unavailable.‘, TRUE, 503);
			echo ‘Your view folder path does not appear to be set correctly. Please open the following file and correct this: ‘.SELF;
			exit(3); // EXIT_CONFIG
		}
		else
		{
			$view_folder = APPPATH.‘views‘;
		}
	}

默认的是

$view_folder = APPPATH.‘views‘;

经过上面步骤,浏览器输入:http://localhost/~yanzi/CodeIgniter/ (windows上输入自己对应的根目录即可)看到如下:

看到上图表示CodeIgniter安装ok。

下面简单看下,为什么会显示这个界面。

找到/Users/yanzi/Sites/CodeIgniter/application/config/routes.php,可以看到如下代码:

$route[‘default_controller‘] = ‘welcome‘;
$route[‘404_override‘] = ‘‘;
$route[‘translate_uri_dashes‘] = FALSE;

即默认访问的Controller是welcome,也即/Users/yanzi/Sites/CodeIgniter/application/controllers/Welcome.php,

<?php
defined(‘BASEPATH‘) OR exit(‘No direct script access allowed‘);

class Welcome extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in
	 * config/routes.php, it‘s displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see http://codeigniter.com/user_guide/general/urls.html
	 */
	public function index()
	{
		$this->load->view(‘welcome_message‘);
//		echo "HelloWorld!";
	}
}

可以看到这个controller加载了welcome_message.php,在view文件夹下。

加载静态页面的demo

对于链接http://example.com/news/latest/10 我们可以猜测访问了news的控制器里的latest的方法,且查询id为10的内容。

即通常URL如下所示:http://example.com/[controller-class]/[controller-method]/[arguments]

下面介绍一个加载静态页面的demo.

1,在application/controllers/新建Pages.php, 这就是一个Controller,继承CI_Controller,代码如下:

<?php

/**
 * Created by PhpStorm.
 * User: yanzi
 * Date: 15/10/21
 * Time: 下午8:20
 */
class Pages extends CI_Controller
{
    public function index($page = ‘home‘)
    {

    }
}

2,在views文件夹下新建templates文件夹,新建header.php:

<html>
    <head>
        <title>CodeIgniter Tutorial</title>
    </head>
    <body>

        <h1><?php echo $title; ?></h1>

新建footer.php:

<em>&copy; 2015</em>
</body>
</html>

注意:这两个问题都必须是php,不能是html!这是CI的模版决定的。

在views文件夹下新建pages文件夹,新建home.php about.php,这是具体的界面。

在views文件夹下新建pages文件夹,里面新建home.php about.php,这里就是最终你要访问的界面。依次在界面里写一句话:

<h1>This is Home page</h1>
<h1>This is About page</h1>  

3,接着是完善控制器里的view方法。

最终的控制器是:

class Pages extends CI_Controller
{
    public function view($page = ‘home‘)
    {
        if(!file_exists(APPPATH. ‘/views/pages/‘ . $page . ‘.php‘)){
            show_404();
        }else{
            $data[‘title‘] = ucfirst($page); // Capitalize the first letter
            $this->load->view(‘templates/header‘, $data);
            $this->load->view(‘pages/‘.$page, $data);
            $this->load->view(‘templates/footer‘, $data);
        }
    }
}

注意:这里将$page参数又赋给了data数组,对应key为title。这样在load->view()传给php时,又去读的$title参数。这个名字必须对应!

经过上述步骤,不需要配置任何东西就可以访问了。浏览器输入:

http://localhost/~yanzi/CodeIgniter/index.php/pages/view

可以看到默认参数为home的界面:

输入http://localhost/~yanzi/CodeIgniter/index.php/pages/view/about 将会看到about的界面。

注意:

1,url = site地址/index.php/控制器名字/方法名字/参数

2,当只输入url = site地址/index.php/控制器名字/默认访问的是控制器的index方法。如果函数名为index,则不用加方法名。但是当你传参数时还是要写上方法名字。

3,可以通过路由规则,简化url。

如找到config文件夹下的router.php,注释掉原来的加上这两句:

$route[‘default_controller‘] = ‘pages/view‘;
$route[‘(:any)‘] = ‘pages/view/$1‘;

则浏览器输入http://localhost/~yanzi/CodeIgniter/index.php/about  直接显示about界面内容,自动使用默认的pages控制器里的view方法,且将参数 作为$1传过去。

有以下几个经典的路由:

a,

$route[‘product/:num‘] = ‘catalog/product_lookup‘;

url 访问example.com/product/1/ 则自动触发的是catalog控制器。

b,

$route[‘journals‘] = ‘blogs‘; //重定向
c,
$route[‘blog/joe‘] = ‘blogs/users/34‘; 
也是重定向。

关于路由这块可以参考:http://codeigniter.org.cn/user_guide/general/routing.html

参考:http://codeigniter.org.cn/user_guide/tutorial/static_pages.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 03:51:35

CodeIgniter安装和入门使用(一)的相关文章

Apache CouchDB安装及入门 &nbsp;

1. 从Apache CouchDB官网下载最新的版本,目前最新版本为1.6.1. 2. 运行"setup-couchdb-1.6.1_R16B02.exe"文件,并将couchdb设置为Windows服务,这样就不用每次都启动服务. 3. 在浏览器中运行"http://127.0.0.1:5984",出现下面的内容说明安装成功. {"couchdb":"Welcome","uuid":"4f58

bower安装使用入门详情

bower安装使用入门详情 bower自定义安装:安装bower需要先安装node,npm,git全局安装bower,命令:npm install -g bower进入项目目录下,新建文件1.txt然后命令行进入项目目录下,输入命令重命名该文件为.bowerrc:修改文件名,命令:rename 1.txt .bowerrc*说明下为何要命令行修改文件名,因为直接修改的话电脑不让修改啊,另外上面命令用于window~~.bowerrc文件内容填充,如下:(js/lib是通过bower下载的文件存放

nodejs学习笔记之安装、入门

由于项目需要,最近开始学习nodejs.在学习过程中,记录一些必要的操作和应该注意的点. 首先是如何安装nodejs环境?(我用的是windows 7环境,所以主要是windows 7的例子.如果想看linux下的安装可以参考http://www.cnblogs.com/meteoric_cry/archive/2013/01/04/2844481.html) 1. nodejs提供了一些安装程序,可以去官网(http://nodejs.org/download/)按照自己的机器进行下载,下载完

Lombok 安装、入门 - 消除冗长的 java 代码

前言:    逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下.    lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 POJO,光说不做不是我的风格,先来看看吧.lombok 的官方网址:http://projectlombok.org/  lombok 其实到这里我就介绍完了,开个玩笑,其实官网上有 lombok 三分四十九秒的视频讲解,里面讲的也很清楚了,而且还有文档可以参考.在这里我就不扯太多,先来看一下 l

MongoDB+MongoVUE安装及入门

MongoDB+MongoVUE安装及入门 转自CSDN 前言及概念 环境安装 MongoDB的安装 MongoVUE安装 建立连接 基础操作 创建表 添加数据 查询 日期查询 排序Sort 查询字段Fields skip跳过 Limit分页 修改 删除数据 前言及概念 据说nodejs和MongoDB是一对好基友,于是就忍不住去学习了解了一下MongoDB相关的一些东西, 那么,MongoDB是什么?这里的五件事是每个开放人员应该知道的: MongoDB是一个独立的服务器; 如MySQL或Po

Lombok 安装、入门 - 消除冗长的 java 代码(转)

原文出处:http://www.blogjava.net/fancydeepin/archive/2012/07/12/lombok.html 前言:    逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下.    lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 POJO,光说不做不是我的风格,先来看看吧. lombok 的官方网址:http://projectlombok.org/ lombok 其实到这里我就介绍

Apache Hadoop2.x 边安装边入门

完整PDF版本:<Apache Hadoop2.x边安装边入门> 目录 第一部分:Linux环境安装 第一步.配置Vmware NAT网络 一. Vmware网络模式介绍 二. NAT模式配置 第二步.安装Linux操作系统 三. Vmware上安装Linux系统 四.设置网络 五.修改Hostname 六.配置Host 七.关闭防火墙 八.关闭selinux 第三步.安装JDK 九.安装Java JDK 第二部分:Hadoop本地模式安装 第四步. Hadoop部署模式 第五步.本地模式部署

八:Lombok 安装、入门 - 消除冗长的 java 代码

Lombok 安装.入门 - 消除冗长的 java 代码 前言:    逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下.    lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 POJO,光说不做不是我的风格,先来看看吧. lombok 的官方网址:http://projectlombok.org/ lombok 其实到这里我就介绍完了,开个玩笑,其实官网上有 lombok 三分四十九秒的视频讲解,里面讲的也很清楚了

pytest_01_安装和入门

目录 pytest 安装与入门 1.pip install -U pytest 2.创建一个test01.py的文件 3.在该目录下执行pytest(venv) 4.执行多个,新建一个py文件 test02.py 5.在一个类中组合多个测试 6.指定测试 用例 7.Assert 8.Fixture 执行顺序 数据清理 pytest 安装与入门 1.pip install -U pytest 2.创建一个test01.py的文件 def func(x): return x + 1 def test