最近一段时间一直忙于新版本的开发工作,所以虽然自己脑中有一些想法,但是苦于没有足够的时间去写下来。好了,昨天终于将大体的功能开发完成,时间上面也不会那么的紧张了。下来我想要好好的梳理一下,自己最近一段时间在学习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. memcached学习(3)memcached的删除机制和发展方向

    memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提. 本次介绍memcached的数据删除机制,以及memcached的最新发展方向--二进制协议(Bi ...

  2. XML Namespace 命名空间

    根据 Namespaces in XML W3C 推荐标准的定义,XML 命名空间 是由国际化资源标识符 (IRI) 标识的 XML 元素和属性集合:该集合通常称作 XML“词汇”. 定义 XML 命 ...

  3. Java基础——数据类型之间的转换

    Java数据类型分为三大类,即布尔型.字符型和数值型.其中数值型又分为整型和浮点型.Java的基本数据类型(8种)为布尔型boolean(1字节):字符型char(2字节):整型byte(1字节).s ...

  4. Nodejs笔记(二)

    Nodejs事件 Node.js 所有的异步I/O 操作在完成时都会发送一个事件到事件队列. Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一 ...

  5. myecplise 添加svn插件

    myecplise svn插件下载地址 http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 1.SVN下载地址 ...

  6. RequireJS使用及JS目录规划

    1.RequireJS学习文档: http://www.requirejs.cn/ 2.目录规划(参考:ColUdf.vm) 1)一个完整的html,对应一个js文件,模块js在主页面对应的js文件中 ...

  7. Android IOS WebRTC 音视频开发总结(四五)-- ORTC背后的真相

    本文主要介绍ORTC(Object Real-time Communication),支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. - ...

  8. 为何要使用Linux

    摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Linux 不是每个 ...

  9. 使用C#三维绘图控件快速搭建DXF查看程序

    本例使用AnyCAD .Net三维图形控件快速实现一个DXF文件的读取.显示.导出JPG.PNG.PDF的应用. 代码: using System; using System.Collections. ...

  10. 实现在Android简单封装类似JQuery异步请求

    在android开发中经常会使用异步请求数据,通常会使用handler或者AsyncTask去做,handler 配合message 使用起来比较麻烦,AsyncTask 线程池只允许128个线程工作 ...