
本帖最后由 ApfelZaft 于 2013-2-4 07:59 编辑
PHP基础全民入门普及教程第一弹!
Hi,电脑前的小盆友们大家好! 我是技术卖萌群的三味=。=
大家每天都上网,难道就不好奇为神马我们能看到如此多姿多彩的网页呢?为什么我点一下发布帖子就发出去了呢? etc.
作为主业是和网络打交道的苦逼码农,觉得普及普及网络相关的姿势还是很有意思的事情。
于是顶着压力准备从最基础入门开始,慢慢到后期一个一个具体的网页功能模块,来具体写一个PHP入门系列的教学。
虽然很多大神眼里PHP就是一个简单到不屑一顾的语言=。=嘛~我们是做实际应用的,实用,简单,易上手,成本低才是最优先考虑的,所以目前来说php无论在海内外还是使用率非常高的一款服务端脚本语言。 比如人所皆知的wordpress博客框架就是用咱们的php写滴~技术宅这个论坛用的Discuz论坛框架也是基于PHP~关于这些具体功能和框架怎么自己架设着玩,我以后会陆续的都讲到,那么,在不多说废话了,咱们开始我们的PHP之旅吧!
==================================================================
第一讲:PHP基本背景和相关概念
咳咳,我知道一上来就搞概念很多大小朋友们就想跳过了。不过想做网络应用的基础就是这些看似无聊的协议和概念~因为是基础,咱们从简来说说。
首先我要来讲一下网络应用(这里具体指网站)的基本原理。
现在的网络应用几乎都是基于分布式多层应用结构(因为我学的都不是中文的教材=。=所以一些专业术语都是自己随便翻过来的,有错误务必指出,以后亦是如此),也就是把抽象的网络在逻辑上分了几个层次,每一个层都有自己的特定功能。这里我就粗略说一下。
一般一个网络应用分为3或4层架构(N-tier Architectures),分别是:
1. 呈现层(Presentation Layer), 也就是我们在自己电脑上看到的用户界面,一般指的是咱们的浏览器。负责收取咱们用户输入的信息,还有在屏幕上现实从服务器返回过来的结果。HTML就是在这一层使用的技术~
2. Business Logical Layer(商业逻辑层):这一层是整个网络应用的中枢系统,应用程序的主体和逻辑都布置在这一层(比如在购物网站购物车的功能,登录的功能,等等),一般就是网络服务器。我们要学习的PHP就是运行在这一层的脚本语言。
3. 数据层: 顾名思义,这一层主要是数据的管理,一般用到的就是数据库。比如Mysql。
下面我举个栗子来说明一下具体这三层是怎么运用在实际中的,还有咱们上网的真相是什么(篇幅原因,从简,有问题可以跟帖我具体解释)~
================我是栗子==================================
咱们打开浏览器,输入地址上了技术宅论坛(这一步涉及到地址解析等知识,在此不作详叙),第一件事就是要登录。
可以这么看,我们的浏览器就是一个客户端,技术宅论坛在租用的服务器上部署了服务端和数据库。
首先我们点击登录按钮,“登录”按钮包含的URL(统一资源定位符,也就是链接)信息通过HTTP协议给服务器发送了一个请求(实际的网络链接是通过传输层的TCP进行,HTTP为高一层的协议),服务器一直在通过一个固定端口(比如80)监听着有没有客户发来服务请求。如今服务器收到了来自我这个IP的请求,它知道了咱们想要登录,于是生成了一个登录页面(HTML语言),再通过HTTP协议和TCP把结果返回给客户端。客户端,也就是咱们的浏览器翻译出来这段HTML语言展示给我们,于是我们成功看到了登录的页面。
================我是栗子==================================
这就是一个最简单的网络应用的栗子,就想象成客户呼叫,服务端提供服务就好了~
为什么要说这些呢?因为PHP就是一个用在服务端的脚本语言(相对于javascript这种运用的客户端的脚本语言)。通过写PHP,我们可以动态控制用户看到的页面,给用户提供各种服务。可以说,你在这个论坛用到的几乎所有功能都可以用PHP来实现~
============================================================
结束了理论基础,我们终于开始进入正题了!!
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。PHP 极其适合网站开发,其代码可以直接嵌入 HTML 代码。
PHP 语法非常类似于 Perl 和 C。PHP 常常搭配 Apache (web 服务器) 一起使用。不过它也支持 ISAPI,并且可以运行于 Windows 的微软 IIS 平台。
PHP 文件可包含文本、HTML 标签以及脚本。PHP 文件中的脚本可在服务器上执行。
您应当具备的基础知识在继续学习之前,您需要对下面的知识有基本的了解:
- HTML / XHTML
- 基础的脚本知识
这两个内容太基础了。。要是真有需要的同学可以提出来再开个教程=。=
那么,我们开始吧!
首先,是一些需要知道的东西。
什么是 PHP?
- PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名)
- PHP 是一种服务器端的脚本语言,类似 ASP
- PHP 脚本在服务器上执行
- PHP 支持很多数据库(MySQL、Informix、Oracle、Sybase、Solid、PostgreSQL、Generic ODBC 等等)
- PHP 是一个开源的软件(open source software,OSS)
- PHP 可免费下载使用
什么是 PHP 文件?
- PHP 文件可包含文本、HTML 标签以及脚本
- PHP 文件向浏览器返回纯粹的 HTML
- PHP 文件的文件后缀是 ".php"、".php3" 或 ".phtml"
什么是 MySQL?
- MySQL 是一种数据库服务器
- MySQL 支持标准的 SQL
- MySQL 可在许多平台上编译
- MySQL 可免费下载使用
- PHP 与 MySQL 的组合是跨平台的(意思是您可以在 Windows 环境进行开发,而在 Unix 平台上提供服务)
从何处开始?
- 在 Windows 或者 Linux 机器上安装 Apache 服务器
- 在 Windows 或者 Linux 机器上安装 PHP
- 在 Windows 或者 Linux 机器上安装 MySQL
为了即学即用,我推荐大家使用整合了PHP+Mysql+Apache的便携式环境。比如我使用的就是WampServer。只要简单的安装,就可以使用PHP+Mysql+Apache的环境了。不用自己分开下载安装以及配置。对新手来说配置就可以纠结很久了=。=
一. 下载安装WampServer
大家可以在http://www.wampserver.com/en/#download-wrapper 下载最新版本的WampServer。软件里自带中文,所以大家有福了~
1. 首先根据自己的实际需要选择版本下载,注意64位和32位系统区别。之后安装,这里就不截图了=。=
2. 安装完之后咱们双击运行~在系统小图标栏就会出现这个: 图标。 右键点击它可以选择语言和帮助文件,请选择中文吧~
3. 之后鼠标左键我们可以看到许多的选项,我们点击启动所有服务。图标就会变为绿色。(离线是指服务器变为本地状态,不对外开放)
附:如果Apache无法启动,请先退出占用80端口的软件,启动workstation和DNS Client服务,网络协议安装Microsoft网络客户端,如果还不能启动,就到你的连接名-属性-网络-Internet协议-属性-高级-WINS-导入LMHOSTS—你的apache的httpd.exe地址(一般为wamp\bin\apache\bin\httpd.exe)就可以了
(根据X-Force的经验,迅雷、电驴、QQ音乐等程序均会占用80端口哟)
好了~到这一步为止,咱们就算是成功架设并且开启了服务器环境,接下来只要写好PHP程序,放到wamp的www目录下,就可以在浏览器中通过http://localhost 的方式来本地访问了~
基本的 PHP 语法PHP 的脚本块以 <?php 开始,以 ?> 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。
当然,在支持简写的服务器上,您可以使用 <? 和 ?> 来开始和结束脚本块。
不过,为了达到最好的兼容性,我们推荐您使用标准形式 (<?php),而不是简写形式。
接下来我们进入刚才Wamp安装目录下面的www文件夹,新建一个.php文件,然后用自己喜欢的文本编辑器打开~(新手可以使用Notepad++,我后天会教大家配置使用IDE,虽然我自己不喜欢=。=)
PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。
在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World":
[mw_shl_code=php,true] *本站禁止HTML标签噢*
*本站禁止HTML标签噢*
<?php
echo "Hello World";
?>
</body>
</html>[/mw_shl_code]
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。
把这段hello world写入你的php文件,保存。
然后打开浏览器(确保你已经运行了WampServer并且启动了服务),输入http://localhost/ 看看是不是这样~
Your Projects里面就是你www目录下所有可以运行的项目和程序,应该可以看到你刚才自己写的php文件,点击它看看~
或者直接浏览器输入
http://localhost/{你的文件名}.php 也是一样的效果。
有没有看到Hello World呢? 恭喜你已经运行了第一个php程序~
php还需要控制数据库,Wamp使用的是Mysql~咱们来给自己加建立一个数据库账号吧。
还是左键那个Wamp的图标。
控制Mysql数据库,选择PHPmyAdmin(一款网页版的用于管理MySQL数据库的程序)
点击添加新用户,我们增加一个数据库的用户
按照我的设置,用户名和密码随意,我的就是123 123。这时我们就可以在本机安装一些常用的PHP程序来玩玩了,例如WordPress,又或者一个Discuz论坛。现在我们以discuz为榜样,试验一下,Discuz安装前还要小小的设置一下,Php-php设置-勾选short open tag
下载Discuz http://www.discuz.net/,解压,将discuz的upload文件夹里的所有文件复制到wamp的www目录下(直接复制upload就可),在浏览器访问 http://localhost/upload/install/index.php,这时就会出现discuz的安装界面了,点击我同意-检测通过,出现:
数据库用户名和密码按照上面的设置,下面的是Discuz管理员用户名,密码随便,点击“填写完毕,进行下一步”。就会出现安装完成的界面,好了!我们成功地在Windows本机上建立起一个自己的论坛了,总体的步骤都是非常简单的。
大家有兴趣可以试试看~
尽管可能新手朋友并不了解里面所有东西都是些什么,有什么作用,但我们起码能通过WAMP搭起一个论坛了。有点成就感后再慢慢深入学习也不错的嘛。WAMP类软件对于懒人、对于初入门者的意义还是不轻的,起码,对于初入门者,它能把入门的路铺平一点了。
另外补充一些WAMP的应用:除了用于学习PHP开发外,你还可以在本机搭建一个WordPress写自己的私人日记,建一个私人/局域网的论坛或者博客用作资料储存库,建立用于折腾的试验网站,如专门用来测试WordPress插件、皮肤的博客,又或者测试任何PHP网站程序……
==============================================================
看了一下时间已经凌晨一点了=。=才写到这里。。效率啊效率=。=明后天还有考试,我先缩下水,大后天补回来。
这是第一次写这样的教程,必须有各种问题…嘛…有什么欢迎跟帖指正!
我发现这是个大坑#38t~~要花时间慢慢写了~~
这一期主要是讲一点最最最基本的网络应用概念还有让大家熟悉一下,亲手跑几个PHP的程序感受感受。
下节课开始进入正题,从语法开始(语法和其他面向对象语言差不多,不会特别详述~),把PHP几个最基本和最常用的功能讲一下。
在大概3次左右的入门贴之后,就准备分功能模块来讲PHP。比如网上博客文章那么多,分页浏览是怎么实现的;留言板怎么做;怎么用PHP上传处理图片或多媒体之类~~我也正在学习,所以大家一起教学相长吧!!
PS:纯手工土制教程。。才发现写个贴好累=。=里面一些图片是我偷懒直接网上截的~还有少部分的概念也就不用自己的话写了~大家有问题欢迎提问~
我们下节课再见!