当前位置:  编程技术>WEB前端
本页文章导读:
    ▪【军哥谈CI框架】之入门教程之第一讲:codeigniter的介绍和安装配置       大家好,我是军哥,欢迎和我一起共同学习和研究CI框架,本教程为《军哥谈CI框架》系列教程的CI入门教程,在开始本教程之前呢,军哥需要说明一下的是虽然本教程为学习CI的一个入门教程.........
    ▪PHP入门必须掌握的基本语法      1、 PHP在WEB开发中的应用 ·收集表单数据 ·生成动态网页 ·字符串的处理 ·动态输出图像 ·处理服务器端文件系统 ·编写数据库支持的网页 ·回话跟踪控制 ·处理XML文件 ·支持利用大量的网络.........
    ▪WebService系列博客{五}[Soap协议的简单解析]      Types: 描述了所有请求参数的类型 举例说明:每一个wsdl文件都有会如下格式的文件 <types> <xsd:schema> <xsd:import namespace="http://ws.java.com/" schemaLocation="http://192.168.1.103:7878/w.........

[1]【军哥谈CI框架】之入门教程之第一讲:codeigniter的介绍和安装配置
    来源: 互联网  发布时间: 2013-10-22

大家好,我是军哥,欢迎和我一起共同学习和研究CI框架,本教程为《军哥谈CI框架》系列教程的CI入门教程,在开始本教程之前呢,军哥需要说明一下的是虽然本教程为学习CI的一个入门教程,但是也需要你有系统的学习过HTML、CSS和PHP,当然还要有MySQL等数据库的基础,另外最好是有面向对象的基础,毕竟CI是用了面向对象的开发结构和MVC的模式。所以,军哥奉劝那些一点HTML和PHP基础都没有的兄弟就别在这浪费你的时间了,还是先脚踏实地的打好基础再说吧。

好,我们开始今天第一讲,关于codeigniter的介绍和安装配置的学习。

【本讲内容】

一、codeigniter(以下简称CI)的介绍;
我们一起来了解一下CI是什么?CI能够为我们做什么?以及CI的不足在哪里?

二、codeigniter的安装配置。
我们学习一个技术不是仅仅只是想知道它是什么和能为我们做什么,最重要的是我们要掌握和使用它。其实CI的安装和使用是非常简单的,过一会你们就可以感觉的到~~

【具体内容】

一、CI的介绍。

1、CI是什么?
军哥喜欢用这样一句话来介绍CI是什么,CI是一个免费、轻量级但功能强大且易扩展的PHP框架,使用面向对象的开发结构和MVC模式,提供了一套丰富的类库来满足通常的任务需求。总之,CI简单易学,高效实用!

那怎么样来解读这句话呢?我们接着看:

(1)、CI是一个PHP框架;
大家都知道PHP框架有很多,CI只是其中之一,框架是为了重用发明的。同样,CI的目标是实现让你比从零开始编写代码更快速地开发项目。CI可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。

(2)、CI是免费的;
CI是经过开源许可授权的,只要你愿意就可以使用它。

(3)、CI是轻量级的;
CI的核心系统只需要一些非常小的库,这与那些需要更多资源的框架完全相反。额外的库文件只在请求的时候加载,依需求而定,所以核心系统是非常快而且轻的。

(4)、CI使用M-V-C模式;
CI使用了模型(Model)- 视图(View)- 控制器(Controllers)的方法,这样可以更好地使表现层和逻辑层分离。

(5)、CI功能强大;
CI拥有众多的类库,可以方便并快速的完成开发任务,包括:读取数据库、数据的缓存、发送电子邮件、保存session、文件的上传、图像的操作、数据的确认等。

(6)、CI是易扩展的;
CI可以非常简单的通过自定义类库、辅助函数来进行扩展,或者也可以通过扩展类、系统钩子来实现。

(7)、CI不需要模版引擎;
虽然CI自带了一个可选的模板解析器程序,但不要求你必须使用模板。模板引擎完全与本地化PHP代码的性能需求不符,使用模板引擎我们要学习其语法,这最低限度只比学PHP基础要容易一点点。

(8)、CI已彻底文档化;
程序员都喜欢写代码讨厌写文档。当然我们也一样,但是既然文档和代码本身一样重要,我们就要完成它了。况且我们代码资源极其干净而且方便注释。

(9)、CI拥有一个友好的用户社区。


2、CI能够为我们做什么?
如果你已经是一位PHPer, 开发过PHP应用, CI将会帮助你做得更好, 更容易达成目标。 CI会减少你的代码数量。它会使你的网站结构更紧凑,代码更强健, 如果不是很好地研究CI的源代码的话,你可能还无法察觉到它的强健。

对大多数兄弟来讲,你可能已经花了不少时间, 系统地学习了PHP、HTML和CSS,当然还有MySQL什么的。不过如果使用CI,你只需要一些基本的LAMP(WAMP)知识, 你没有必要先成为一个专家才能使用CI。 你完全可以先借助于CI或别的什么框架,成为一个有生产力的PHP程序员,拿着高薪然后优雅地进一步学习PHP的中高级知识,直至成为一位真正的PHP骨灰级人物。

(1)、节约时间;
节约的时间包括两个方面,一方面呢,由于CI入门相当简单,所以学习周期短,见效快!另一方面,其实通过刚才对CI的介绍,我们很清楚CI能够为我们节约很多的开发时间。

(2)、轻松编程、享受编程乐趣,而不是一个干苦活的体力工;
CI能够让你更好的享受编程的乐趣,因为它减少了你的编码重复的工作,而且它也建立一个合理的系统结构,让你很轻松也很方便的管理更为复杂的程序。

(3)、减少代码量;
举三个例子你就知道了。
示例一:想象一下你正在写MySQL查询,可能的代码如下,

  • $link = mysql_connect(""主机名,"用户名","密码");
  • mysql_select_db("数据库名", $link);
  • $result = mysql_query("SELECT * FROM 表名", $link);
  • while ($row = mysql_fetch_assoc($result)) {
  •      foreach ($row as $v) {
  •          echo  $v['name'];
  •      }
  • }
  • 那我们看看CI如何来处理这个问题:

  • $this->load->database('数据库名');
  • $query = $this->db->get('表名');
  • foreach ($query->result() as $row) {
  •      echo $row->name;
  • }
  • 示例二:例如军哥在写phper小站的菜单页时,上面有许多的超链接需要重定向到网站的其他页,我们可以用传统的HTML格式编写(当然这里只是举例,实际会有些不同),

  • <a href=/blog_article/"http_/localhost/phersite/index.php/jayjun/doc/start/2">PHP入门</a>_/li/index.html>
  • <a href=/blog_article/"http_/localhost/phersite/index.php/jayjun/doc/oop/3">面向对象</a>_/li/index.html>
  • <a href=/blog_article/"http_/localhost/phersite/index.php/jayjun/doc/des/4">设计模式</a>_/li/index.html>
  • ……
  • 而我们CI给你一个函数,可以这样写,

  • echo anchor("jayjun/doc/start/2","PHP入门");
  • echo anchor("jayjun/doc/oop/3","面向对象");
  • echo anchor("jayjun/doc/design/4","设计模式");
  • ……
  • 当你的网站现在需要由开发环境部署到服务器上,这时就需要你改变这个链接了,如果是传统的方式你只能手动的一个个去修改,而我们CI中的anchor函数会自动从config文件中提取相关URL,CI推荐你把你的URL放入一个config文件存储。因此, 当你修改一个URL时,你只需要修改config文件中的的对应链接,就一次那么简单。

    示例三:想象你正在写一个性别的下拉输入框,下拉框中有三个选项,如下,


        
    [2]PHP入门必须掌握的基本语法
        来源: 互联网  发布时间: 2013-10-22
    1、 PHP在WEB开发中的应用
    ·收集表单数据
    ·生成动态网页
    ·字符串的处理
    ·动态输出图像
    ·处理服务器端文件系统
    ·编写数据库支持的网页
    ·回话跟踪控制
    ·处理XML文件
    ·支持利用大量的网络协议
    ·服务器端其他相关操作

    2、 关于PHP脚本运行
    ·编写的php脚本语言需要上传至WEB服务器的文档根目录下,通过浏览器访问WEB服务器管理下的php文件就可以运行PHP文件。但是,不能直接使用浏览器打开php文件,这样没有web服务器区解析代码,显示的也是源代码。
    ·在php文件中可以编写html、css、javascript等语言,但需要使用起始符标记<?php和结束标记?>

    3、 PHP语言标记
    ·<?php?>
    ·语句分为功能执行语句与结构定义语句
    ·功能执行语句后面一定要加分号,结构定义语句一定不要带分号
    ·与?>这个标记最近的功能执行语句可以不加分号;建议功能执行语句都加分号
    ·如果?>是脚本语言的结束,那么?>这个可以不加,建议不要加!很多函数(头函数)的前面都不允许出现任何的空白,所以在使用require标记时,被包含的php文件结束后一定不要有空白,或者该php文件不加?>结束标记即可。

    4、 PHP注释方法
    ·单行注释
      //
    ·多行注释
    /*  */  多行注释中不能包含单行注释了
    ·脚本注释
      #
    ·文档注释
    /**   */
    ·注释的功能:
    (1)      写过不合适的代码需要注释不能立即删除
    (2)      注释可以用来写帮助文档,增强程序代码的可读性
    (3)      注释代码可以用来调试程序
    (4)      注释要写在代码的上面或右边

    5、 在PHP程序中使用空白符
    ·空白:空格 tab 换行
    ·空白符可以增强代码的可读性

    6、 变量
    变量在任何编程语言中都居于核心地位,理解他们就是使用PHP的关键所在。
    ·变量时用于临时存储值的容器。
    ·变量是指在程序运行过程中随时可以发生变化的量,是程序中数据的临时存放场所。
    ·变量可以保存程序运行时用户输入的数据,特定运算的结果以及要输出到网页上显示的一段数据等。
    总之,变量是用于跟踪几乎所有类型信息的简单工具。

    7、 申明变量
    ·当一个数据需要用到多次时,就可以申明变量。
    ·申明方式:$变量名=值
    ·变量的类型是由存储的值来决定的,申明前不指定类型
    ·可以连续申明多个变量,例如:$a=$b=$c=$d=”value”.
    ·isset(); 判断变量是否存在的函数
    ·unset(); 删除(释放)一个变量的函数。

    8、 变量命名
    ·变量前一定要使用“$”,申明和使用都要有这个符号
    ·变量名不能以数字开头
    ·不能使用php的运算符号,例如:+-*/%&|等
    ·php可以使用系统关键字作为变量名,这其他语言不同的地方
    ·php变量区分大小写的,只有变量与常量区分大小写,其他的不区分(php功能标签,例如:echo可以写成ECHO或ecHo等)
    ·变量名在项目程序中要有意义
    ·命名习惯:用英文单词命名时,第一个英文小写,以后的单词第一个字母大写,其他的小写,例如:aaaBbbCcc。

    9、 可变变量(用到比较少)
    ·一个变量的变量名可以动态地设置和使用

    <?php
    $one=”###”;
    $two=”one”;
    $three=”two”;
    $four=”three”;

    Echo $four.”<br>”;
    Echo $$four.”<br>”;
    Echo $$$four.”<br>”;
    Echo $$$$four.”<br>”;
    ?>
    输出结果为:
    three
    two
    one
    ###

    10、             变量的引用赋值
    ·使用一个&加到要赋值的变量前面(原变量),例如:$a=&$b;

    11、             变量的类型
    ·PHP中有8种变量类型:四种标量+二种复合类型(可以放多个值的变量)+二种特殊类型
    ·4种标量:整型、布尔型、浮点型、字符串
    ·2种复合类型:数组+对象
    ·2种特殊类型:资源类型+null
    ·var_dump(); 该函数既可以看到变量类型与值
     

  • <?php  
  • $var=10;  
  • echo "<pre>";  
  • var_dump($var);  
  • echo "</pre>";  
  • echo"-------------------------------------<br>";  
  •   
  • $var=34.5;  
  • echo "<pre>";  
  • var_dump($var);  
  • echo "</pre
        
  • [3]WebService系列博客{五}[Soap协议的简单解析]
        来源: 互联网  发布时间: 2013-10-22

    Types: 描述了所有请求参数的类型

    举例说明:每一个wsdl文件都有会如下格式的文件

    <types>
    <xsd:schema>
    <xsd:import namespace="http://ws.java.com/" schemaLocation="http://192.168.1.103:7878/web?xsd=1"/>
    </xsd:schema>
    </types>
    

    访问: http://192.168.1.103:7878/web?xsd=1(案例地址)将会看到更加详细的方法解析。例如传递参数的类型。返回参数的类型()

    <xs:schema xmlns:tns="http://ws.java.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://ws.java.com/">
    <xs:element name="add" type="tns:add"/>
    <xs:element name="addResponse" type="tns:addResponse"/>
    <xs:element name="minute" type="tns:minute"/>
    <xs:element name="minuteResponse" type="tns:minuteResponse"/>
    <xs:complexType name="add">
    <xs:sequence>
    <xs:element name="arg0" type="xs:int"/>
    <xs:element name="arg1" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="addResponse">
    <xs:sequence>
    <xs:element name="return" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="minute">
    <xs:sequence>
    <xs:element name="arg0" type="xs:int"/>
    <xs:element name="arg1" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="minuteResponse">
    <xs:sequence>
    <xs:element name="return" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    

    每一个complexType 在用wsimport命令生成Java的时候都会有相应命名的java文件


    Message:SOAP消息和types对应的方法阐述元素相对应  message|types


    <message name="add">
    <part name="parameters" element="tns:add"/>
    </message>
    <message name="addResponse">
    <part name="parameters" element="tns:addResponse"/>
    </message>
    <message name="minute">
    <part name="parameters" element="tns:minute"/>
    </message>
    <message name="minuteResponse">
    <part name="parameters" element="tns:minuteResponse"/>
    </message>
    

    portType:指明服务器的接口,并且通过operation指定in和out的消息。其中input表示参数。Output表示返回值


    <portType name="WsServerDao">
    <operation name="add">
    <input wsam:Action="http://ws.java.com/WsServerDao/addRequest" message="tns:add"/>
    <output wsam:Action="http://ws.java.com/WsServerDao/addResponse" message="tns:addResponse"/>
    </operation>
    <operation name="minute">
    <input wsam:Action="http://ws.java.com/WsServerDao/minuteRequest" message="tns:minute"/>
    <output wsam:Action="http://ws.java.com/WsServerDao/minuteResponse" message="tns:minuteResponse"/>
    </operation>
    </portType>
    

    Binding : 指定我们传递消息所使用的格式。一般都是literal


    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="add">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="minute">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    

    Service : 指定服务所有发布的一些基本信息

    <service name="WsServerImplService">
    <port name="WsServerImplPort" binding="tns:WsServerImplPortBinding">
    <soap:address location="http://192.168.1.103:7878/web"/>
    </port>
    </service>
    


    作者:zhang6622056 发表于2013-1-9 10:56:15 原文链接
    阅读:0 评论:0 查看评论

        
    最新技术文章:
    ▪css white-space:nowrap属性用法(可以强制文字不...
    ▪IE里button设置border:none属性无效解决方法
    ▪border:none与border:0使用区别
    ▪html清除浮动的6种方法示例
    ▪三个不常见的 HTML5 实用新特性简介
    ▪css代码优化的12个技巧
    ▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
    ▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
    ▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
    ▪小技巧处理div内容溢出
    ▪html小技巧之td,div标签里内容不换行
    ▪纯CSS实现鼠标放上去改变文字内容
    ▪li中插入img图片间有空隙的解决方案
    ▪CSS3中Transition属性详解以及示例分享
    ▪父div高度不能自适应子div高度的解决方案
    ▪告别AJAX实现无刷新提交表单
    ▪从零学CSS系列之文本属性
    ▪HTML 标签
    ▪CSS3+Js实现响应式导航条
    ▪CSS3实例分享之多重背景的实现(Multiple background...
    ▪用css截取字符的几种方法详解(css排版隐藏溢...
    ▪页面遮罩层,并且阻止页面body滚动。bootstrap...
    ▪CSS可以做的几个令你叹为观止的实例分享
    ▪详细分析css float 属性以及position:absolute 的区...
    ▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
    ▪CSS小例子(只显示下划线的文本框,像文字一...
    ▪可以给img元素设置背景图
    ▪不通过JavaScript实现的自动滚动视差效果
    ▪div+CSS 兼容小摘
    ▪CSS的inherit与auto使用分析
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3