最近一段时间一直忙于新版本的开发工作,所以虽然自己脑中有一些想法,但是苦于没有足够的时间去写下来。好了,昨天终于将大体的功能开发完成,时间上面也不会那么的紧张了。下来我想要好好的梳理一下,自己最近一段时间在学习PHP过程的一些收获和感受!其实,说起为什么自己会想到要学习Php呢?一方面是因为Php现在在国内实在是太火了,另一方面呢?是因为自己的好奇心,以前我自己一直是做前端开发的,所以我一直想要弄明白service端到底是怎样的一个开发流程呢?在《黑客与画家》里面作者说到一个很普遍的现象,那就是国内很多的开发人员一直都认为只要你精通一门开发语言,那么其他的都是相同的。其实说到这个观点的对错呢?应该是一半一半的,首先语法概念、设计思想方面肯定都是大同小异的,但是他们针对性就不一样了,每种开发语言都是针对一种专门的现状情况去开发的,试想一下如果c语言强大到能够高效的处理任何问题,那么就不会产生其他的高级语言了。

好了,废话不多说,让我们开发PHP之旅吧!首先呢?我们需要搞清楚到底什么是PHP,PHP又是基于解决什么样的现状情况才开发出来的呢?只有明白这些我们才知道,我们学习PHP之后可以更加高效的解决什么的开发问题呢?首先php是个人主页的缩写,他是服务端的一种脚本语言,主要适用于Web开发的。其实说到Web开发我们可以使用HTML快速的开发出一个页面,但是这样的页面交互性是很差的,在处理数据方面也是不太方便的,所以PHP就是在这种情况下产生的。好了,我们明白PHP主要的用途之后,我们就可以比较细致的看一下它的具体语法了。

其实,我的第一感觉就是PHP的弱类型性,之前我接触比较多的应该还是C#,JAVA等,在这些语言里面每个变量的定义都需要指定一个特定的类型,而且一旦指定之后,在程序运行的时候不允许被修改的。但是在PHP里面呢?我们只需要通过$美元符号就可以定义一切类型的变量,同时在运行的时候,你也是可以对其进行修改。当然了,在PHP里面也会有控制语句,循环语句等一些其他语言该有的东西。然后我们可能想要弄明白的一件事情可能就是一个Web页面是怎样和一段脚本发生交互的呢?他们之间又是这样去传值的呢?其实这在Php里面实现起来是很简单的,php里面传值的方式有两种:GET/POST,通过get的方式呢?我们需要就页面里面所需要传送的数值拼接到一个URL的路径后面,然后我们在脚本里面就可以通过键值对的方式获取得到了,这就是为什么很多项目开发里面我们需要事先定义很多的协议文档,因为那些规定的字段,在PHP脚本解析里面都会被用作Key来访问Value的。当然通过POST的方式在脚本里面处理也是一样的,那么这两者到底有什么区别呢?首先get方式由于是拼接到url后面所以是明文的,不安全。然后post呢?相对来说安全一点,那么我们在页面传值的时候,又是怎样去区分它们的呢?我们只需要在页面的Action里面指定预定处理的脚本,在method里面我们可以选择传值的方式,可以是get、post.明白这些之后,我们大体就可以开发出简单的具有交互性的页面了。

然后我们需要了解PHP里面一些更高级的东西,包括常用的内置函数、模板等,我们先来说一说一些常用的函数吧!字符串处理函数,数组处理函数,一些判断函数等。具体细节我们放到下一节吧!

随机推荐

  1. 在 mvc 中使用下拉列表

    在mvc中经常会使用到下拉列表,以下以两种方式来实现,一种是以  @Html.DropDownList 扩展方法,一种是以 <select><option></optio ...

  2. 使用UI Automation实现自动化测试 --工具使用

    当前项目进行三个多月了,好久也没有写日志了:空下点时间,补写下N久没写的日志 介绍下两个工具 我本人正常使用的UISpy.exe工具和inspect.exe工具 这是UISPY工具使用的图,正常使用到 ...

  3. 部署Ossim

    650) this.width=650;" title="29-1.jpg" alt="095310750.jpg" src="http:/ ...

  4. Qt中QObject中的parent参数

    今天写了一个小程序,验证了带参的构造函数中参数parent的作用. 在MainWindow中声明一个QDialog类型的指针,在MainWindow中对它进行初始化.我采用了两种初始化方式,一种是带参 ...

  5. boost:thread使用实例

    /************************************************************************/ /*功能描述: boost thread使用实例 ...

  6. 一、Linux目录结构

    转自:http://www.cnblogs.com/JCSU/articles/2770249.html 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbi ...

  7. Android IOS WebRTC 音视频开发总结(十四)-- sip和xmpp异同

    这篇文章主要介绍XMPP与SIP,很多人容易混淆这两个概念,转载请说明出处(博客园RTC.Blacker). 简介:XMPP和SIP都是应用层协议,主要用于互联网上发送语音和即时通讯. SIP在RFC ...

  8. banner淡出效果

    <div class="banner"> <div class="ban"></div> <ul class=&quo ...

  9. C puzzles详解【9-12题】

    第九题 #include <stdio.h> int main() { float f=0.0f; int i; ;i<;i++) f = f + 0.1f; if(f == 1.0 ...

  10. 新建一个DataTable如何手动给其添加多条数据!

    早晨起来,想起昨天利用winform做类似于sqlserver数据库导入数据功能的时候,用到了新建一个DataTable手动给其添加多条数据,平时用不到,需要的时候想不起来了,这次不妨把他记下来.以下 ...