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的官方网站(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程序开发流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/74193.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无涯教程-Lua - 函数声明

函数是一起执行任务的一组语句,您可以将代码分成单独的函数。 Lua语言提供了程序可以调用的许多内置方法。如方法 print()打印在控制台中作为输入传递的参数。 定义函数 Lua编程语言中方法定义的一般形式如下- optional_function_scope function function_name(…

什么?你还没有用过JPA Buddy,那么你工作肯定没5年

1. 概述 JPA Buddy是一个广泛使用的IntelliJ IDEA插件,面向使用JPA数据模型和相关技术(如Spring DataJPA,DB版本控制工具(Flyway,Liquibase),MapStruct等)的新手和有经验的开发人员…

【论文阅读】通过解缠绕表示学习提升领域泛化能力用于主题感知的作文评分

摘要 本文工作聚焦于从领域泛化的视角提升AES模型的泛化能力,在该情况下,目标主题的数据在训练时不能被获得。本文提出了一个主题感知的神经AES模型(PANN)来抽取用于作文评分的综合的表示,包括主题无关(pr…

【MySQL】表的增删查改

文章目录 一、创建表create二、查看表desc三、修改表3.1 修改表名alter3.2 在表中插入数据insert3.3 在表中新增字段alter3.4 修改指定列的属性alter3.5 移除表中的一列alter3.6 修改表中某一列的列名alter 四、删除表drop 一、创建表create mysql> create table if not ex…

Python爬虫教程篇+图形化整理数据(数学建模可用)

一、首先我们先看要求 1.写一个爬虫程序 2、爬取目标网站数据,关键项不能少于5项。 3、存储数据到数据库,可以进行增删改查操作。 4、扩展:将库中数据进行可视化展示。 二、操作步骤: 首先我们根据要求找到一个适合自己的网…

【深度学习】High-Resolution Image Synthesis with Latent Diffusion Models,论文

13 Apr 2022 论文:https://arxiv.org/abs/2112.10752 代码:https://github.com/CompVis/latent-diffusion 文章目录 PS基本概念运作原理 AbstractIntroductionRelated WorkMethodPerceptual Image CompressionLatent Diffusion Models Conditioning Mec…

ERROR 1064 - You have an error in your SQL syntax;

ERROR 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near (/, 少个逗号吧,以前开始写SQL,特别是修改SQL的时候容易出现这样错误。 而且自己也知道在附近…

应用案例|基于高精度3D视觉引导压缩机抓取定位应用

Part.1 行业现状 3D机器视觉是一种新兴的人工智能技术,它在机器视觉和机器学习领域中发挥着重要的作用。在工业领域,3D视觉技术被广泛应用于引导工业机器人进行抓取和定位操作。使用显扬科技的技术可以实现识别和定位压缩机。 Part.2 如何识别和定位压缩…

SpringBoot+ruoyi框架图片上传和文件下载

第一次接触ruoyi框架,碰到文件上传和下载问题,今天来总结一下。 使用若依框架文件上传下载首先配置文件路径要配好。 文件下载: application.yml若依配置 # 项目相关配置 ruoyi:# 名称name: RuoYi# 版本version: 3.6.0# 版权年份copyright…

Compose应用案例(利用docker compose安装lnmp实例)

目录 Compose应用案例 一、前提配置 (一)安装docker-ce(Linux安装Docker) (二)安装docker-compose 二、安装docker compose部署lnmp (一)目录结构: (二…

MQTT服务器详细介绍:连接物联网的通信枢纽

随着物联网技术的不断发展,MQTT(Message Queuing Telemetry Transport)协议作为一种轻量级、可靠、灵活的通信协议,被广泛应用于物联网领域。在MQTT系统中,MQTT服务器扮演着重要的角色,作为连接物联网设备和…

布隆过滤器

文章目录 布隆过滤器布隆过滤器的概念布隆过滤器的插入布隆过滤器的删除 布隆过滤器 布隆过滤器就是为了解决位图不能解决的问题。 用哈希表存储用户记录,缺点:浪费空间用位图存储用户记录,缺点:不能处理哈希冲突将哈希与位图结合…

「干货分享」针对电机控制应用如何选择宽带隙器件?

在功率转换应用中,使用碳化硅(SiC)和氮化镓(GaN)材料的宽带隙(WBG)半导体器件作为开关,能让开关性能更接近理想状态。相比硅MOSFET或IGBT,宽带隙器件的静态和动态损耗都更…

【javaSE】 实现图书管理系统

目录 整体思路 Book包 Book类 BookList类 user包 User类 NormalUser类 AdminUser管理员类 testmain包 opera包 IOPeration接口 普通用户 ExitOperation类 FindOperation类 BrrowOperation类 ReturnOperation类 管理员 AddOperation类 DelOperation类 ShowOp…

Jmeter自动化性能测试常见问题

一、request 请求超时设置 timeout 超时时间是可以手动设置的,新建一个 http 请求,在“高级”设置中找到“超时”设置,设置连接、响应时间为2000ms。 1. 请求连接超时,连不上服务器。 现象: Jmeter表现形式为&…

视频爬虫:解析m3u8文件 python m3u8库,m3u8文件中.ts视频流的解密下载

一、引用的库 这里需要引用的库是:from Crypto.Cipher import AES 有坑哈,python3.0之后直接安装crypto你会发现不管怎么着都会报错。 经过查找资料找到了原因,原来是20年之后crypto已经被pycryptohome替换掉啦, 如果之前安装过…

什么是高级持续威胁(APT)攻击

目录 前言什么是高级持续威胁高级持续威胁攻击有哪些独特特征APT攻击的五个阶段APT检测及防护措施总结 前言 APT攻击是利用多个阶段和不同攻击技术的复合网络攻击。APT不是一时兴起2构思或实施的攻击。相反,攻击者故意针对特定目标定制攻击策略。并在较长时间内进行…

【Spring Boot系列】-Spring Boot过滤器Filter

【Spring Boot系列】-Spring Boot过滤器Filter 文章目录 【Spring Boot系列】-Spring Boot过滤器Filter一、概述二、Filter(过滤器)数据流程三、Spring Boot 过滤器生命周期四、使用注解方式实现过滤器(WebFilter)4.1. 在springboot 启动类添加该注解Ser…

flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能

flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能 在之前项目开发中,遇到更换样式,由于从服务器端获取的样式均为css属性值,需要将其转换成flutter类对应的属性值。这里只处理线性渐变linear-gradient 比如渐变 “linear-…

SQL编译优化原理

最近在团队的OLAP引擎上做了一些SQL编译优化的工作,整理到了语雀上,也顺便发在博客上了。SQL编译优化理论并不复杂,只需要掌握一些关系代数的基础就比较好理解;比较困难的在于reorder算法部分。 文章目录 基础概念关系代数等价 j…