PHP(一)
最近一段时间一直忙于新版本的开发工作,所以虽然自己脑中有一些想法,但是苦于没有足够的时间去写下来。好了,昨天终于将大体的功能开发完成,时间上面也不会那么的紧张了。下来我想要好好的梳理一下,自己最近一段时间在学习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里面一些更高级的东西,包括常用的内置函数、模板等,我们先来说一说一些常用的函数吧!字符串处理函数,数组处理函数,一些判断函数等。具体细节我们放到下一节吧!
随机推荐
- 用Ultra ISO制作启动U盘装系统
用UltraISO制作启动U盘可以在没有光驱的情况下装系统. 现在有大容量U盘的越来越多,而且不装光驱的也越来越多. 那么用U盘装系统成为了可能和必须,不多废话了. 首先,需要准备的有: Ultra ...
- tar: 从成员名中删除开头的“/”
在压缩文件时,当后面的备份目录使用绝对路径时,会出现: tar zcvf /usr/OutFile.tar.gz /data/CTest tar: 从成员名中删除开头的“/” 此时,对tar增加 ...
- Java基础——多线程
Java中多线程的应用是非常多的,我们在Java中又该如何去创建线程呢? http://www.jianshu.com/p/40d4c7aebd66 一.常用的有三种方法来创建多线程 新建一个类继承自 ...
- Android开发中常用到方法总结
1.判断服务是否在运行中 public static boolean isServiceRunning(Context context, String serviceName) { boolean ...
- css定义表格样式
table.gridtable { font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width ...
- asp.net常用字符串函数
/// <summary> /// 提取字符串中的数字 /// </summary> /// <param name="str"></pa ...
- 关于java classpath问题
在配置java环境的时候,有一个classpath,这是jre寻找.class文件的路径.一般会设置为当前路径".;%JAVA_HOME%\lib;",前面的.为当前路径 如果没有 ...
- 基于Vivado HLS在zedboard中的Sobel滤波算法实现
基于Vivado HLS在zedboard中的Sobel滤波算法实现 平台:zedboard + Webcam 工具:g++4.6 + VIVADO HLS + XILINX EDK + ...
- VMware vSphere Client的简单使用教程
1.首先登陆进去ESXI管理 实验VMware VS6.0版本 2新建虚拟机 确认信息 点击完成 2.开启虚拟机 右键打开控制台 加载光驱 选择虚拟机 Ctrl+Alt+delete重启 安装 来 ...
- T—SQL用法剪辑,方便以后查看
一.用T-SQL查询表中第n行到第m行数据的写法示例 假设这里的n=6,m=10则有以下两种写法,qusID可以不连续,如下: select top 5 * from tb_wenti where q ...