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>© 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
原文:https://blog.csdn.net/yanzi1225627/article/details/49233281
CodeIgniter安装和入门使用(一)的更多相关文章
- Apache Hadoop2.x 边安装边入门
完整PDF版本:<Apache Hadoop2.x边安装边入门> 目录 第一部分:Linux环境安装 第一步.配置Vmware NAT网络 一. Vmware网络模式介绍 二. NAT模式 ...
- bower安装使用入门详情
bower安装使用入门详情 bower自定义安装:安装bower需要先安装node,npm,git全局安装bower,命令:npm install -g bower进入项目目录下,新建文件1.tx ...
- [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
- 虚拟光驱 DAEMON Tools Lite ——安装与入门
DAEMON Tools Lite 是什么?它不仅仅是虚拟光驱.是的,你可以使用它制作.加载光盘映像,但是 DAEMON Tools 产品那么多,Lite版与其他版本究竟有什么不同呢?或者说,是什么让 ...
- Python 3.6.3 官网 下载 安装 测试 入门教程 (windows)
1. 官网下载 Python 3.6.3 访问 Python 官网 https://www.python.org/ 点击 Downloads => Python 3.6.3 下载 Python ...
- 八:Lombok 安装、入门 - 消除冗长的 java 代码
Lombok 安装.入门 - 消除冗长的 java 代码 前言: 逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下. lombok 提供了简单的注解的形式来帮助我们简化消 ...
- robotframework安装及入门指南
将很久之前自己在本地记录的一些笔记发表到随笔来,希望能够帮到一些童鞋~ robotframework安装及入门指南 本文主要介绍robotframework在windows环境的安装过程! 安装步骤 ...
- pytest_01_安装和入门
目录 pytest 安装与入门 1.pip install -U pytest 2.创建一个test01.py的文件 3.在该目录下执行pytest(venv) 4.执行多个,新建一个py文件 tes ...
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...
随机推荐
- Centos7.7安装expect命令工具
简单介绍 expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预.说白了,expect就是一套用来实现自动交互功能的软件. 在实际工作中,我们运行命令.脚本或程序时,这些命令.脚本 ...
- CHD-5.3.6集群安装
我是基于Apache-hadoop2.7.3版本安装成功后,已有的环境进行安装chd-5..6 已用的环境: JDK版本: java version "1.8.0_191" Jav ...
- 【Git】三、版本回退&撤消修改&文件删除
提要 //查看git操作日志 $ git log //单行格式查看操作日志 $ git log --pretty=oneline //还原操作到上一次版本,有几个^就上几次 $ git reset - ...
- 12_Hive实战案例_累计报表_级联求和
注:Hive面试题:累积报表 数据文件: 有如下访客访问次数统计表 t_access_times 需要输出报表:t_access_times_accumulate 实现步骤: 创建表,并将数据加载到表 ...
- 09_Redis_消息订阅与发布
一:Redis 发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下图展示了频道 c ...
- python函数大全
1.range函数 可创建一个整数列表,用于for循环中 格式为:range(start,stop[,step]) start:计数从start开始,默认从0开始 stop:计数从stop结束,但不包 ...
- cifs
加入cifs 能把设备的目录挂载到我们的电脑上面 mount -t cifs -o username=Everyone //192.168.23.72/cifs /cif 如果当前是everyone ...
- xgboost&lightgbm调参指南
本文重点阐述了xgboost和lightgbm的主要参数和调参技巧,其理论部分可见集成学习,以下内容主要来自xgboost和LightGBM的官方文档. xgboost Xgboost参数主要分为三大 ...
- 内网监控zabbix
告警 告警方式:linkedsee 类型:使用脚本linkedsee.sh [root@zabbix-server ~]# cat linkedsee.sh #! /bin/bash SERVICE_ ...
- metal sample code
https://developer.apple.com/metal/sample-code/ 又被我发现了个宝贝