PHP从入门到精通—PHP开发入门-PHP概述、PHP开发环境搭建、PHP开发环境搭建、第一个PHP程序、PHP开发流程


每开始学习一门语言,都要了解这门语言和进行开发环境的搭建。同样,学生开始PHP学习之前,首先要了解这门语言的历史、语言优势等内容以及了解开发环境的搭建。
PHP概述
Ø 认识PHP
PHP最初是由Rasmus Lerdorf于1994年为了维护个人网页而编写的一个简单程序。这个程序用来显示 Rasmus Lerdorf 的个人履历以及统计网页流量,因此最初称为个人主页(Personal Home Page)。后来受到GNU的影响,它更名为PHP(Hypertext Preprocessor,超文本预处理器)。


PHP是全球网站使用最多的脚本语言之一,从最初的PHP/FI到现在的PHP 7,经过多次的重写和扩展,与Linux、Apache和MySQL共同组成了一个强大的Web应用程序平台(简称LAMP)。
PHP作为服务器端Web程序开发语言,主要有以下两方面原因:
l PHP是一种服务器端、HTML嵌入式的脚本语言,因此适合Web开发。
l PHP是B/S(Browser/Server,浏览器/服务器)架构,即服务器启动后,用户可以不使用客户端软件,而是使用浏览器进行访问,这种方式既保持了图形化的用户界面,又大大减少了应用程序的维护量。
Ø PHP语言优势
PHP之所以成为目前最流行的服务器端Web程序开发语言之一,是因为它具有很多优势,具体如下所示。
1.跨平台
PHP几乎支持所有的操作系统平台,如Windows、UNIX、Linux等。此外,还支持多种Web服务器,如Apache、IIs等
2.开源免费
PHP是开源且免费,此外,LAMP平台中的Linux、Apache、MySQL都是免费软件,这可以为网站开发者节省一部分开支。
3.面向对象
PHP支持面向对象程序设计,因此可以用来开发大型商业程序。另外,PHP也支持面向过程程序设计。
4.支持多种数据库
PHP支持多种数据库,如MySQL、Oracle、SQL Server等,其中MySQL是网站开发首选的数据库,它与PHP是黄金组合。
5.易学习
PHP嵌入在HTML中,编辑方便,语法简单,内置函数丰富,开发速度快,非常容易学习。
Ø PHP的应用领域
全球有60% 的网站都在使用PHP技术进行开发,包括Facebook、谷歌、百度、新浪等国内外一线互联网公司。PHP正吸引着越来越多的Web开发人员,其应用领域非常广泛,如网站开发、OA办公系统、电子商务、CRM管理系统、ERP系统、手机APP接口及API接口、网页游戏后台、服务器脚本等。


PHP开发环境搭建
Ø 常见的PHP集成开发环境
在PHP的学习阶段,通常使用Windows下的PHP集成开发环境。常见的PHP集成开发环境有WampServer、AppSer、XAMPP、phpStudy等,这些软件之间稍微有些差异。每种开发软件都有不同的版本,建议安装较高的版本。
因为相对于Windows操作系统,Linux操作系统更加稳定和安全,所以实际的线上运行环境中大多搭建在Linux操作系统上。在Linux下搭建运行环境时可以选择使用源码方式安装或者使用LAMP一键安装。
出于快速开发和方便使用的目的,本书将采用WampServer集成环境来搭建实验环境。WampServer简称WAMP(Windows+Apache+MySQL+PHP),是一组常用来搭建动态网站的开源软件,完全免费。
Ø 安装WampServer
大家可以直接从WampServer的官方网站(http://www.wampserver.com/)下载,如图所示。


WampServer只有Windows系统的安装版本,本书将以64位Windows 7系统为例。单击上图中的WAMP SERVER 64 BITS(X64)3.0.6,进入下载界面并进行下载,如图所示。


单击图中的Download按钮,就可以进行下载。下载安装文件成功后,就可以安装了。
(1)进入安装文件所在目录,双击.exe安装文件进入语言选择界面,如图所示。


(2)单击OK按钮,进入许可协议界面,如图所示。选择I accept the agreement选项


(3)单击Next按钮,进入安装注意事项界面,如图所示。


注意图中红色字体内容,其中必须确保安装VC9、VC10、VC11、VC13、VC14 和 VC15包,若缺少某个包,则可以拖动右侧滚动条,下文有相应的下载地址。
4)单击Next按钮,进入选择软件安装位置界面,如图所示。单击Browse按钮,选择软件安装位置为D:\wamp64,默认位置为C:\wamp64。


(5)安装位置选择完成后,单击Next按钮,进入选择开始菜单文件夹界面,如图所示。


(6)单击Browse按钮,选择程序快捷方式在开始菜单文件夹中的位置,然后单击Next按钮,进入开始安装界面,如图所示。


(7)单击Install按钮,进入安装界面,如图所示。


安装结束前,程序会提示用户是否使用IE浏览器作为默认浏览器,如图所示。


使用Chrome浏览器作为默认浏览器,因此在上图中单击“是(Y)”按钮。接着根据Chrome浏览器安装位置,找到对应的.exe程序,如图所示。


接着程序提示是否将记事本作为文本编辑器,也可以指定其他文本编辑器,此处单击“否(N)”按钮,如图所示。


(8)安装完成后,进入注意事项界面,如图所示。


(9)单击Next按钮,进入完成安装界面,如图所示。单击Finish按钮,WampServer安装完成。


WampServer安装完成后,桌面上会出现一个“W”图标的快捷方式,双击该快捷方式,就可以启动WampServer。
在状态栏的右下角会出现一个W图标,图标颜色由红色变为绿色,则说明所有服务成功开启。当用鼠标右击该图标时,会出现一个菜单(见右图),该菜单包括关于、刷新、帮助、语言、设置、工具、退出。当用鼠标单击该图标时,会出现一个菜单(见左图),通过该菜单可以查看及设置Apache、MySQL和PHP的各种环境,可以直接进入项目存放的文档根目录,可以访问phpMyAdmin系统、也可以启动、停止和重启所有服务。


在上图中,Apache的版本号为2.4.27,PHP的版本号为5.6.31,MySQL的版本号为5.7.19。本书使用PHP 7.1.9,可以通过单击上图中PHP 5.6.31,在出现的二级菜单中单击Version,选择7.1.9即可。
在初学阶段,Xdebug功能可以关闭。打开D:\wamp64\bin\apache\apache2.4.27\bin\路径下的php.ini文件,在文件末尾找到如下内容:


在第2行代码前添加英文分号,就可以关闭Xdebug功能。
PHP开发环境搭建
Ø wampServer目录介绍
WampServer安装在“D:\wamp64”,使用前需要了解其主要子目录,如表所示。
子目录名 | 作用 |
www | 存放网页文档根目录,默认只有将网页上传到该目录下才能进行测试 |
bin | 存放Apache、MySQL、PHP 三个主要服务器组件的目录 |
logs | 存放网站日志文件,包含Apache、MySQL和PHP的日志等 |
apps | 存放了三个使用PHP开发的应用软件 |
alias | 存放Apache 设置的访问别名配置文件 |
tmp | 存放网站运行的临时文件 |
其次,还需掌握核心组件的位置,如表所示。
核心组件 | 组件位置 | |
Apache服务器 | 安装位置 | D:\wamp64\bin\apache\apache2.4.27 |
主配置文件 | D:\wamp64\bin\apache\apache2.4.27\conf\httpd.conf | |
扩展配置文件 | D:\wamp64\bin\apache\apache2.4.27\conf\extra | |
网页存放位置 | D:\wamp64\www | |
MySQL数据库 | 安装位置 | D:\wamp64\bin\mysql\mysql5.7.19 |
配置文件 | D:\wamp64\bin\mysql\mysql5.7.19\my.ini | |
数据文件 | D:\wamp64\bin\mysql\mysql5.7.19\data | |
PHP模块 | 安装位置 | D:\wamp64\bin\php\php7.1.9 |
配置文件 | D:\wamp64\bin\php\php7.1.9\php.ini | |
数据库管理软件 | 安装位置 | D:\wamp64\apps\phpmyadmin4.7.4 |
配置文件 | D:\wamp64\apps\phpmyadmin4.7.4\config.inc.php |
Ø 测试开发环境
WampServer安装完成后,需要测试开发环境是否可以正常运行。打开浏览器,在地址栏中输入“http://localhost/”测试。如图显示图所示的界面,则表示WampServer安装成功。


Ø 第一个PHP程序
1.2.节中已经搭建好PHP开发环境,接下来就自己动手编写一个PHP程序,亲自感受一下PHP语言的基本形式。
在磁盘目录D:\wamp64\www\下创建一个目录section01,在section01目录下创建一个文本文件,重命名为1-1.php,用记事本打开,编写一段代码。


例中是编写好的PHP程序,下面分别对每条语句进行详细的讲解,如图所示。


打开浏览器,在地址栏中输入“http://localhost/1-1.php”,然后回车,则运行结果如图所示。


接下来演示将PHP语言嵌入到扩展名为.php的HTML文件中,如例所示。


运行结果如图所示。


在例中,用户可以根据需求在HTML文件中嵌入PHP代码。PHP代码是嵌入在HTML代码中使用,为了避免书写大量的HTML代码,本书有些例题代码只书写PHP代码部分。
Ø PHP程序开发流程
上面编写并运行了一个简单的PHP程序,从这个简单程序,可以总结出PHP程序的开发流程,具体如下所示。
1.编辑
PHP源代码是一系列的语句或命令,编辑它可以使用任意的文本编辑器,如Windows系统下的记事本、Linux系统下的vi、Sublime Text、Zend Studio、Eclipse for PHP、EasyEclipse等。编辑完的PHP源代码的文件扩展名必须是.php,这样才能由PHP引擎来处理。在大部分的服务器上,这是PHP的默认扩展名,也可以在Web服务器中指定其他扩展名。
2.上传
将编辑完成的PHP源代码上传到Web服务器上,本书中编辑好的PHP代码存放在目录“D:\wamp64\www\”下。
3.运行
如果已经将PHP文件成功上传到Web服务器,打开浏览器,在地址栏里输入Web服务器的URL访问这个文件,服务器将自动解析这些文件,并将解析的结果返回给请求的浏览器。

小结:PHP从入门到精通—PHP开发入门
通过本章的学习,大家能够对PHP语言及其优势有初步的认识,重点掌握PHP开发环境的搭建并编写一个简单程序,着重理解PHP程序开发流程。
相关文章:
PHP从入门到精通—PHP开发入门-PHP概述、PHP开发环境搭建、PHP开发环境搭建、第一个PHP程序、PHP开发流程
每开始学习一门语言,都要了解这门语言和进行开发环境的搭建。同样,学生开始PHP学习之前,首先要了解这门语言的历史、语言优势等内容以及了解开发环境的搭建。 PHP概述 认识PHP PHP最初是由Rasmus Lerdorf于1994年为了维护个人网页而编写的一…...
【LeetCode-中等】722. 删除注释
题目链接 722. 删除注释 标签 字符串 步骤 Step1. 先将source合并为一个字符串进行处理,中间补上’\n’,方便后续确定注释开始、结束位置。 string combined; for (auto str : source) {combined str "\n"; }Step2. 定义数组 toDel&am…...
rust里如何判断字符串是否相等呢?
在 Rust 中,有几种方法可以判断字符串是否相等。下面是其中几种常见的方法: 使用 运算符:可以直接使用 运算符比较两个字符串是否相等。例如: fn main() {let str1 "hello";let str2 "world";if str1 …...

python基本知识学习
一、输出语句 在控制台输出Hello,World! print("Hello,World!") 二、注释 单行注释:以#开头 # print("你好") 多行注释: 选中要注释的代码Ctrl/三单引号三双引号 # print("你好") # a1 # a2 print("Hello,World!&…...

vue3和typescript_组件
1 components下新建myComponent.vue 2 页面中引入组件,传入值,并且绑定事件函数。 3...

Qt+联想电脑管家
1.自定义按钮类 效果: (1)仅当未选中,未悬浮时 (2)其他三种情况,均如图 #ifndef BTN_H #define BTN_H#include <QPushButton> class btn : public QPushButton {Q_OBJECT public:btn(QWidget * parent nullptr);void set_normal_icon(…...

论文阅读-BotPercent: Estimating Twitter Bot Populations from Groups to Crowds
目录 摘要 引言 方法 数据集 BotPercent架构 实验结果 活跃用户中的Bot数量 Bot Population among Comment Sections Bot Participation in Content Moderation Votes Bot Population in Different Countries’ Politics 论文链接:https://arxiv.org/pdf/23…...

用于永磁同步电机驱动器的自适应SDRE非线性无传感器速度控制(MatlabSimulink实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台免费搭建 qt
Java版知识付费源码 Spring CloudSpring BootMybatisuniapp前后端分离实现知识付费平台 提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含:录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署,免费售…...

删除注释(力扣)
删除注释 题目 给一个 C 程序,删除程序中的注释。这个程序source是一个数组,其中source[i]表示第 i 行源码。 这表示每行源码由 ‘\n’ 分隔。 在 C 中有两种注释风格,行内注释和块注释。 字符串// 表示行注释,表示//和其右侧…...

阿里云AK创建
要在阿里云上创建 Access Key(AK),您需要按照以下步骤进行操作: 登录到阿里云控制台([https://www.aliyun.com/?utm_contentse_1014243503))。 点击右上方的主账号,点击“AccessKey管理”。 …...

OC与Swift的相互调用
OC调用Swift方法 1、在 Build Settings 搜索 Packaging ,设置 Defines Module 为 YES 2、新建 LottieBridge.swift 文件,自动生成桥 ProductName-Bridging-Header.h 3、在 LottieBridge.swift 中,定义Swift类继承于OC类,声明 obj…...

某银行软件测试笔试题
(时间90分钟,满分100分) 考试要求:计算机相关专业试题 一、填空题(每空1分,共10分) 1. ______验证___是保证软件正确实现特定功能的一系列活动和过程。 2. 按开发阶段分,软件测试可…...

SpringMVC概述、SpringMVC的工作流程、创建SpringMVC的项目
🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaweb 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Spring MVC入门 一、Spring MVC概述二、入门案例2.1导入Sp…...

一文说清楚支付架构
作者:陈斌 支付的技术架构是为了保障能够顺利处理支付请求而设计的结构体系。从系统的角度看,它包括了计算机系统的软件、硬件、网络和数据等。从参与的主体角度来看,它涉及交易的付款方、收款方、支付机构、银行、卡组织和金融监管机构等。要…...

【Golang 接口自动化00】为什么要用Golang做自动化?
目录 为什么使用Golang做自动化 最终想实现的效果 怎么做? 写在后面 资料获取方法 为什么使用Golang做自动化 顺应公司的趋势学习了Golang之后,因为没有太多时间和项目来实践,怕止步于此、步Java缺少练习遗忘殆尽的后尘,决定…...

Android 架构模式如何选择
作者:vivo 互联网客户端团队-Xu Jie Android架构模式飞速演进,目前已经有MVC、MVP、MVVM、MVI。到底哪一个才是自己业务场景最需要的,不深入理解的话是无法进行选择的。这篇文章就针对这些架构模式逐一解读。重点会介绍Compose为什么要结合MV…...
深入了解 LoRaWAN® B 类设备
介绍 在 LoRaWAN 网络中,终端设备以三种模式之一运行:LoRaWAN A 类、B 类和 C 类。网络只能将消息(下行链路)发送到终端设备在两个短接收窗口之一期间处于 A 类模式,该接收窗口在设备向网络发送消息(上行链路)后立即打开。然而,这些上行链路不是预先安排的,并且可以由…...
KK集团再闯港交所:引领潮流零售市场,2023年一季度业绩增势显著
撰稿|行星 来源|贝多财经 7月31日,KK Group Company Holdings Limited(下称“KK集团”)在港交所更新招股书,补充了截至2023年3月31日的财务数据等信息,继续推进上市事宜,摩根士丹利和瑞信为其联席保荐人。…...
Vue中的组件渲染
在Vue中,组件的被渲染意味着将组件的内容转换为真实的DOM元素并添加到页面上。当Vue应用启动时,根组件会被渲染,并递归地渲染其子组件。 当组件被渲染时,Vue会将组件的模板解析成虚拟DOM(Virtual DOM)的形…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...