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里面一些更高级的东西,包括常用的内置函数、模板等,我们先来说一说一些常用的函数吧!字符串处理函数,数组处理函数,一些判断函数等。具体细节我们放到下一节吧!
随机推荐
- centos 7 安装音乐播放器(亲测可用)
方法来源网上,非原创. 1. Install the nux repo $> su - $> yum update # optional but recommanded $> rp ...
- JS实现联想输入(一)
这里是我们的项目中的一个使用JS实现联想输入的功能代码,在此做个小的记录并且将它分享给大家希望对园中的朋友有用! 我将分享三段都非常简单的代码,仅仅作为个人的一点小小的积累而已! 1:后台的Actio ...
- 学习总结 java 创建及其练习
创建: 打开eclipse—文件—新建—java项目—项目名称命名—点击texe-1练习下拉箭头—右击src—新建—类—设置类名称(名称设置时不要添加空格),在“想要创建哪些方法跟”下面点击:publ ...
- Tasks、 activity 及 activity stack
一. Activity的四种加载模式 Activity之间的跳转,或者说加载一个新的Activity,一般对于开发者来说,都不是一个太难的问题.直到后来随着不断的深入,才发现原来Activity的加载 ...
- VC7 HTML Dialog开发实例讲解
开发环境:VS7,Windows XP,Windows 2K 在VS7中添加了一种新的对话框类:CDHtmlDialog,顾名思义就是能够显示DHTML内容的对话框,但不同与以前的CHTMLView不 ...
- wcscpy wcscpy_s strcpy strcpy_s的区别
原型声明:extern char *strcpy(char *dest,const char *src); 头文件:string.h 功能:把从src地址开始且含有NULL结束符的字符串赋值到以des ...
- 【缓存】.net中Cache管理操作
隐藏行号 复制代码 ? 这是一段程序代码. using System; using System.Web; using System.Web.Caching; using System.Collect ...
- leetcode 58
58. Length of Last Word Given a string s consists of upper/lower-case alphabets and empty space char ...
- ASP.NET(C#)--Repeater中生成“序号”列
需求介绍:在Repeater(Table)中加入“序号”列,从1开始自增,步长为1. 思路:因为“序号”跟Repeater的行号有关,所以要在Repeater的ItemDataBound事件中输出“序 ...
- 1.7见识一下什么叫Linux驱动:LED
1.任何的Linux驱动都有一个装载函数(装载驱动时调用)和一个卸载函数(卸载驱动时调用): 2.装载函数和卸载函数分别通过module_init和module_exit宏指定.