ci下载的开发包:
 
 
phpstudy的部署:
phpstudy的根目录是:D:\WWW
新建目录 cms 
把ci开发包的application   system index.php  license.txt copy到cms目录下面;
运行phpstudy,php版本选择5.4以上,因为在readme.rst中阅读到,php的版本最好是在5.4以及以上最佳;
 
*******************
Server Requirements
*******************

PHP version 5.4 or newer is recommended.

It should work on 5.2.4 as well, but we strongly advise you NOT to run
such old versions of PHP, because of potential security and performance
issues, as well as missing features.

 
打开phpstudy首页,
 
然后进入选择cms这个项目
看说明,这个页面是在显示的 application/view/welcome_message.php这个页面的内容,然后是被控制器 application/controllers/Welcome.php控制的;
为了验证,我修改一下welcome_message.php,加上一个图片,改变一些文字;
 
先看效果:
 
注意的地方:
页面渲染耗时{elapsed_time}秒 CI版本 <?php echo CI_VERSION ?>  环境 <?php echo ENVIRONMENT ?>
 
变量意义 变量名称
渲染时间 {elapsed_time}
ci的版本 CI_VERSION
环境名称 ENVIRONMENT
 
controller/welcome.php
$this ->load-> view('welcome_message' );
 
加载视图,视图名称是welcome_message,视图的位置是application/view目录下
 
控制器:代理完成某项任务的php类,充当MVC架构程序的粘合剂;
url:http://example.com/[控制器类名]/[控制器方法名]/[所需参数]
 
新建一个控制器
 
namespace:
kind:
file extension:
 
namespace any8 ;

class Pages extends CI_Controller{

public function view ($page = 'home'){ 
    
    }

}

 
CI_Controller这个类对应于system/core/Controller.php,又叫超级对象,可以使用$this来调用它的变量,方法,一些其它的操作;
 
public function view ( $page = 'home' ){

if ( ! file_exists( APPPATH. 'views/pages/' .$page . '.php')) 
    {
        // 页面不存在 
        show_404 () ;
    }

$data [ 'title'] = ucfirst( $page ); // 将title中的第一个字符大写

$this -> load-> view ('templates/head' , $data) ;
    $this -> load-> view ('pages/' . $page, $data ); 
    $this -> load-> view ('templates/foot' , $data) ;

}

 
 
注意的地方:   
file_exists()  查看文件是否存在   APPPATH 应用的路径,对应application目录
ucfirst() 把第一个字母变为大写
view(视图文件位置,视图所需数据)
 
 
这段代码位于  application/config/routes.php   
默认的控制器是welcome 默认的方法是index  
所以浏览器里访问  localhost/cms/访问的是Welcome.php 对应的welcome_message.php的视图
 
 
数据库的配置: application/config/database.php 
 
  • hostname - 数据库的主机名,通常位于本机,可以表示为 "localhost".
  • username - 需要连接到数据库的用户名.
  • password - 登陆数据库的密码.
  • database - 你需要连接的数据库名.
  • dbdriver - 数据库类型。如:mysql、postgres、odbc 等。必须为小写字母。
  • dbprefix - 当运行Active Record查询时数据表的前缀,它允许在一个数据库上安装多个CodeIgniter程序.
  • pconnect - TRUE/FALSE (boolean) - 使用持续连接.
  • db_debug - TRUE/FALSE (boolean) - 显示数据库错误信息.
  • cache_on - TRUE/FALSE (boolean) - 数据库查询缓存是否开启,详情请见数据库缓存类
  • cachedir - 数据库查询缓存目录所在的服务器绝对路径。
  • char_set - 与数据库通信时所使用的字符集。
  • dbcollat - 与数据库通信时所使用的字符规则。

    提示: 就MYSQL或MYSQLi数据库而言,如果服务器运行环境PHP版本小于5.2.3、MYSQL版本小于5.0.7,那么该项设置仅被用来备份(由数据库维护类DB Forge所创建查询)。如果使用多字节字符集并且使用低版本PHP环境中不兼容的mysql_real_escape_string()函数,它将使网站更容易受到SQL注入的危险。

  • swap_pre - 替换默认的dbprefix表前缀,该项设置对于分布式应用是非常有用的,你可以在查询中使用由最终用户定制的表前缀。
  • autoinit - 当数据库类库(database library)被载入的时候是否需要自动连接数据库,如果设置为FALSE,将在首次查询前进行连接。
  • stricton - TRUE/FALSE (boolean) - 是否强制使用 "Strict Mode" 连接, 在开发程序时,使用 strict SQL 是一个好习惯。
  • port - 数据库端口号. 要使用这个值,你应该添加一行代码到数据库配置数组。$db['default']['port'] = 5432;
 
显示的关闭数据库链接  $this->db->close();
重新链接/保持有效连接  $this->db->reconnect();
链接多数据库:
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
手动链接数据库:
$this->load->database();

可用的参数

  1. 数据库连接值,用数组或DSN字符串传递。
  2. 是否返回连接ID,TRUE/FALSE (boolean),默认值为FALSE (参阅下面的“连接多数据库”)。
  3. 是否启用 Active Record 类,TRUE/FALSE (boolean),默认值为 NULL。如有疑问,请查看/system/core/Loader.php的database()方法
自动链接:

“自动连接” 功能将在每一个页面加载时被自动实例化数据库类。要启用“自动连接”,可在application/config/autoload.php中的 library 数组里添加 database

$autoload['libraries'] = array('database');

 
模型:模型是专门用来和数据库打交道的PHP类

最基本的模型类必须像这样:

class Model_name extends CI_Model {

function __construct()
    {
        parent::__construct();
    }
}

Model_name 是模型类的名字。 类名的首字母必须大写,其他字母小写。 并且确保你的类继承了基本模型类(Base Model Class)。

文件名应该是模型类名的小写版。
 
写了一个例子:
class Account extends CI_Controller{

public function index (){

$this -> load-> model ('user_model' ) ;
//        $this->load->model('user_model','user_model');//加载模型

$accountList = $this-> user_model ->user_list () ;//调用模型方法

$data [ 'user_list'] = $accountList ;//设置视图数据

$this -> load-> view ('user/user_list' , $data) ; //引导到视图
    }

}

class User_model extends CI_Model
{

function __construct ()
    {
        $this -> load-> database (); 
    }

public  function  user_list ()
     {
          $query =  $this-> db ->query ( "SELECT * FROM dt_account limit 0,30" ); 
          $accountArray = $query-> result (); 
         return $accountArray ;
     }
}

用户列表

<table>
    <tr><td>用户id </td><td> 用户名</td><td> 密码 </td></tr>
    <?php
    foreach
( $user_list as $user )
    {
        echo '<tr><td>' . $user-> id .'</td>' ;
        echo '<td>'. $user ->userName . '</td><td>'. $user ->passWord . '</td>'; 
        echo '</tr>'; 
    }

?>
</table>

php:ci学习笔记1的更多相关文章

  1. PHP与CI学习笔记

    CodeIgniter框架学习 安装 下载好包后,解压复制 system 和 application 目录到网站目录下 配置 配置目录 打开index.php设置好 $system_path . $a ...

  2. CI 学习笔记、记录

    [ci框架]ci框架目录结构分析 分类: [CodeIgniter深入研究]2013-05-09 00:24 7420人阅读 评论(5) 收藏 举报 [php] view plaincopy mysh ...

  3. 0025 Java学习笔记-面向对象-final修饰符、不可变类

    final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...

  4. BZOJ 1061: [Noi2008]志愿者招募 [单纯形法]【学习笔记】

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3975  Solved: 2421[Submit][Stat ...

  5. 毕业设计 之 二 PHP学习笔记(一)

    毕业设计 之 二 PHP学习笔记(一) 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 一.环境搭建 1.XAMPP下载安装 XAMPP是PHP.MySQL ...

  6. Android学习笔记(三)——初探Intent

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作 ...

  7. C++Primer第5版学习笔记(一)

    C++Primer第5版学习笔记(一) 第一.二章的重难点内容        这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...

  8. C++学习笔记——大杂烩

    C++学习笔记--大杂烩                                                         by方阳 版权声明:本文为博主原创文章,转载请指明转载地址 h ...

  9. python数据分析入门学习笔记

    学习利用python进行数据分析的笔记&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据分 ...

随机推荐

  1. WebGIS中等值线前端生成绘制简析

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 等值线是GIS制图中常见的功能,一般有两种思路:一种是先进行插 ...

  2. 【SAP业务模式】之ICS(一):业务详述

    PS:本专题系列讲述如何在SAP系统中实现ICS的业务模式,本系列博文系原创,如要转载引用,请保持原文一致并注明出处! SAP系统自身功能非常强大,支持多种业务模式,通过前台后台的配置就可以实现多种效 ...

  3. Android开发学习—— 创建项目时,不是继承activity,而是继承ActionBarActivity

    对于我们新建android项目时, 会 继承ActionBarActivity. 我们在新建项目时, 最小需求的sdk 选择 4.0以上版本.这样 新建的android项目就是继承activity了!

  4. 为什么房间的 Wi-Fi 信号这么差

    最近把家里主卧整成了个小影院,由于之前房子装修时网线端口与电源插口布置太少,导致家庭网络架设变得麻烦起来,最后终于通过「无线中继」技术达到了全屋满格 Wi-Fi 的效果. 在 Wi-Fi 架设过程中, ...

  5. Windows10-UWP中设备序列显示不同XAML的三种方式[3]

    阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...

  6. 玩转Windows服务系列——使用Boost.Application快速构建Windows服务

    玩转Windows服务系列——创建Windows服务一文中,介绍了如何快速使用VS构建一个Windows服务.Debug.Release版本的注册和卸载,及其原理和服务运行.停止流程浅析分别介绍了Wi ...

  7. 使用T4模板生成不同部署环境下的配置文件

    在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据目标环境不同而不同.比如在开发环境中,数据 ...

  8. 转 10 个最佳的 Node.js 的 MVC 框架

    10 个最佳的 Node.js 的 MVC 框架 oschina 发布于: 2014年02月24日 (33评) 分享到:    收藏 +322 Node.js 是一个基于Chrome JavaScri ...

  9. C# - 缓存OutputCache(一)基础配置

    本文是通过网上&个人总结的 1. 介绍 OutputCache输出缓存是复制ASP.NET页面,保存在内存的机制.这种行为有助于提高性能,通过返回的缓存达到网页及时响应的目的,减少客户机器需要 ...

  10. springmvc注解事例

    注解有简化 ,灵活性增强的功能 1.引入jar包 com.springsource.javax.validation-1.0.0.GA.jarcom.springsource.org.aopallia ...