//深夜码字有点困- -。
前言:此为本人所写的第一篇教程,本人将尽可能保证文中相关名词的规范与准确,但由于本人技术知识所限,难免会有所错误,恳请各位读者批评指正,一起交流学习,谢谢。
注:本教程适用于已对 html有基础认知 以及学习过 c++或c或java等编程语言的 同学。
本次教程 php基础 的内容如下:
一、概述
二、应用场景
三、基础语法
以下为正文:
一、概述
php的定义:PHP(Hypertext Preprocessor 超文本预处理器) 是一种创建动态交互性站点的强有力的服务器端脚本语言。
这段定义中有三个关键词,分别为 动态交互性站点、强有力和服务器脚本语言。接下来我将围绕这三个点,对php进行简单的概述。
首先何为 动态交互性站点?
动态交互性站点,可简称为 动态网站,动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。学过html的同学知道,在做完一个以html作为后缀名的网页后并进行发布后,只要访问的网址不变,其显示的内容就不会改变,因此它是一个 静态网站 。而我们通常访问的网页,常常会根据我们访问的情况进行动态变更,而最常见和容易辨识的就是包含表单提交的网页,根据提交的内容显示不同的网页,这类网站是 动态网站。动态网站往往是web服务器根据相关数据或事件处理过后输出的一个结果。反之,用txt编辑器直接写的纯html网页,就是一个静态网站。
其次何为 强有力?
php是目前最为流行的服务器端脚本语言,其优势在于开放源代码、免费、快捷、跨平台性强、效率高等,除了这些晦涩的形容词,对于我们这些学过c++和html的同学来说,php是极易上手的类C语言,其语法混合了C,Java和Perl。且php是弱类型的语言,其变量的声明不需要像c++一样使用 数据类型+变量名 来声明变量,这在之后的开发当中提供许多便利。除此之外,php中包含许多字符串处理函数,非常好用。
最后何为 服务端脚本语言?
常见的服务端脚本语言有asp,jsp和php,就php而言,可以理解为运行在服务器上的,将代码嵌入在html代码中的,并且在将网页传送到客户端浏览器前对嵌入的代码进行解释并执行的一种语言。例如:
<!DOCTYPE html>
<html>
<body>
//php代码的开始
<?php
echo "<p>Hello Word!</p>";
?>
//php代码的结束
</body>
</html>
在传送给客户端浏览器,即被解释之后会变成
<!DOCTYPE html>
<html>
<body>
<p>Hello Word!</p>
</body>
</html>
最终在浏览器里访问后显示的效果则是
Hello World!
从上述可知,服务器解释了php代码并将其转化为纯html代码,浏览器则解释了html代码,并显示出最终效果。细心的同学也许已经发现,php的全称:Hypertext Preprocessor 超文本预处理器 和html的全称:HyperText Markup Language 超文本标记语言,php和html的关系可见一斑。
二、应用场景/开发环境
通过上述的简单介绍知道了php是干嘛的以后,如何来实现一个动态网站呢?从上文可知,最后呈现给用户的网页效果,经过了服务器和浏览器的解释的。浏览器是客户自己用于访问网站的,因此对于我们开发人员来说,我们需要一台web服务器,以便用户来访问我们的网站。
那如何搭建一个web服务器呢?一般来说,每台pc都可以成为一台web服务器。最常用的搭建web服务器的软件有iis和wamp,前者不常用,略过,我们
主讲wamp。wamp是Windows下的Apache+Mysql+Php,是用常用来搭建动态网站或服务器的开源软件,本身都是独立的软件,但是一般都会被组合起来使用。其中Apacha是世界使用排名第一的web服务器软件,Mysql是一个关系数据库管理系统,是php的好基友,两者经常结合在一起使用。将wamp安装并启用之后,客户可以通过该pc的外网ip访问www目录下的默认主页。但是由于个人电脑并不能24小时开启和联网,性能也得不到保证,因此并不适合于web应用的开发。而专业服务器像我们这些学生和普通开发者并买不起,因此,本微信开发教程使用的是云服务器。
常见的云服务器有新浪的sae,百度开放云,阿里云,腾讯云等等。这里我们主讲sae。通过云服务器创建相关的php应用就可以实现一个动态网站开发,通过相关设置微信公众号也可接入到该应用中,以便进行微信开发。具体的sae应用创建和使用教程我将在下一篇文章里介绍,本文先略过。
三、基础语法
php是一种开源脚本语言,其语法吸收了C,Java和Perl的特点,面向对象的弱类型语言。详细的语法可查阅 http://www.runoob.com/php/php-tutorial.html 。
学过c++的同学对面向对象应该不陌生,弱类型在上文已提到过,由于其语法跟c,c++等常见语言非常类似,这里不再细化介绍赘述。
php一般嵌入在html中,如上文提到的示例代码
<!DOCTYPE html>
<html>
<body>
//php代码的开始
<?php
echo "<p>Hello Word!</p>";
?>
//php代码的结束
</body>
</html>
其中 <?php 是嵌入在html中php代码的开始,?>则标志php的结束。服务器会对<?php... ?>中的php代码进行解释。一个html文档中可以有多次嵌入,每次嵌入都应以<?php开始和?>结束,有时候开始也可以简写为<? 但是并不推荐。
在这段示例代码中有一个关键字 echo。相当于c++中的cout<<。其输出的内容会变成html的一部分,因此对这段代码来讲,就是把<p>Hello World</p>添加到当前html文档中。通过echo关键字,就可以通过php来添加html元素。当然,php也可以用来生成整个html代码,这段代码可以改写成
//php代码的开始
<?php
echo "
<!DOCTYPE html>
<html>
<body>
<p>Hello Word!</p>
</body>
</html>";
?>
//php代码的结束
其效果是一样的。
上述两段代码都没有出现变量,接下来将第一段代码改写成输出一个变量的形式
<!DOCTYPE html>
<html>
<body>
//php代码的开始
<?php
$content="<p>Hello Word!</p>";
echo $content;
?>
//php代码的结束
</body>
</html>
在这段代码中,出现了一个php变量 $content。php中的变量,都是以 $+变量名 的形式来声明。由于php是弱类型语言,因此在变量名前不需要添加变量类型,php会自动进行判断。除此之外,与c++大为不同的是,其对字符串的操作非常简单便捷。以连接字符串为例,php可以通过 . 来进行字符串连接。例如
<?php
$str1="Hello ";
$srt2="World";
$str3=$str1.$str2;
echo $str3;
?>
其输出结果为:Hello World。$str3也可以=$str1."World",或="Hello "."World",其结果都是一样的。
关于php的具体应用,我将之后结合微信开发的功能来进一步的细化。本文主要是进行对php及其相关的知识的一个简单介绍和概述。
以上便是本文的全部内容,感谢各位读者的阅读!
下一章将介绍新浪SAE的相关基础。