PHP网站开发实例教程(第2版)PPT完整全套教学课件.ppt

您所在的位置:网站首页 php网站开发实例教程代码是什么 PHP网站开发实例教程(第2版)PPT完整全套教学课件.ppt

PHP网站开发实例教程(第2版)PPT完整全套教学课件.ppt

2024-07-16 07:38| 来源: 网络整理| 查看: 265

第1章开发环境搭建安装VisualStudioCode搭建WAMP环境安装Composer依赖管理工具Web服务器配置学习目标熟悉VSCode编辑器的使用12掌握Apache、PHP和MySQL的安装方法掌握Composer依赖管理工具的使用方法3熟悉掌握掌握掌握4掌握虚拟主机和访问权限的配置方法目录☞点击查看本节相关知识点☞点击查看本节相关知识点搭建WAMP环境1.21.1安装VisualStudioCode1.3安装Composer依赖管理工具☞点击查看本小节知识架构☞点击查看本节相关知识点Web服务器配置1.4知识架构1.2搭建WAMP环境1安装Apache2安装PHP3安装MySQL知识架构1.4Web服务器配置1配置虚拟主机2访问权限配置3案例【按要求配置虚拟主机】1.1安装VisualStudioCode

安装VisualStudioCodeVisualStudioCode(简称VSCode)是微软开发的一款代码编辑器,具有免费、开源、轻量级、高性能、跨平台等特点。1.1安装VisualStudioCode

安装VisualStudioCode1.2搭建WAMP环境

安装Apache创建安装目录获取Apache安装软件配置和安装启动Apache服务1.2搭建WAMP环境

安装Apache创建目录:在C盘根目录下创建一个名为web文件夹,作为PHP开发环境的安装位置在web中创建apache2.4子文件夹,将Apache安装到此文件夹中进行管理1.2搭建WAMP环境

安装Apache获取Apache编译软件,以2.4.38为例:1.2搭建WAMP环境

安装Apache修改conf\httpd.conf,配置安装路径:配置服务器域名,删除“#”号:DefineSRVROOT"c:/Apache24"ServerName:801.2搭建WAMP环境

安装ApacheApache常用的配置:配置项说明ServerRoot"${SRVROOT}"Apache服务器的根目录,即安装目录Listen80服务器监听的端口号,例如80、8080LoadModule需要加载的模块ServerAdminadmin@服务器管理员的邮箱地址ServerName:80服务器的域名DocumentRoot"${SRVROOT}/htdocs"网站根目录ErrorLog"logs/error.log"用于记录错误日志1.2搭建WAMP环境

安装Apachehttpd-kinstall-nApache2.4切换到Apache的bin目录,输入以下命令开始安装1.2搭建WAMP环境

安装Apache启动Apache服务通过ApacheServiceMonitor控制Apache服务的启动、停止和重新启动1.2搭建WAMP环境

安装ApacheApache启动成功后,访问“http://localhost”测试Apache服务1.2搭建WAMP环境

安装PHP获取PHP安装软件配置PHP测试PHP是否安装成功1.2搭建WAMP环境

安装PHP获取PHP安装软件:1.2搭建WAMP环境

安装PHP将php-7.2.15-Win32-VC15-x86.zip压缩包解压到C:\web\php7.2目录中:1.2搭建WAMP环境

安装PHP引入扩展目录:在php.ini中搜索文本extension_dir,删除该行“;”注释

将路径修改为PHP扩展文件保存的路径配置PHP时区:搜索文本“date.timezone”,设置为UTC或PRCextension_dir="c:/web/php7.2/ext"date.timezone=PRC1.2搭建WAMP环境

安装PHP在Apache中引入PHP模块:在Apache配置文件httpd.conf第185行将PHP中的Apache2.4模块引入LoadModulephp7_module"C:/web/php7.2/php7apache2_4.dll"setHandlerapplication/x-httpd-phpPHPIniDir"C:/web/php7.2"LoadFile"C:/web/php7.2/libssh2.dll"1.2搭建WAMP环境

安装PHP配置Apache索引页:在httpd.conf中搜索DirectoryIndex,将index.php添加为默认索引页DirectoryIndexindex.htmlindex.php1.2搭建WAMP环境

安装PHP测试PHP是否安装成功:创建test.php并访问查看输出结果1.2搭建WAMP环境

安装MySQL获取MySQL安装软件安装MySQL登录MySQL数据库1.2搭建WAMP环境

安装MySQL获取MySQL安装软件:1.2搭建WAMP环境

安装MySQL将压缩包mysql-5.7.24-win32.zip解压保存到C:\web\mysql5.7目录中:1.2搭建WAMP环境

安装MySQL运行命令行工具,切换到MySQL的安装目录下开始安装MySQL:mysqld-installmysql5.71.2搭建WAMP环境

安装MySQL创建配置文件C:\web\mysql5.7\my.ini,配置文件指定MySQL安装目录(basedir)、数据库文件保存目录(datadir)和端口号(port)[mysqld]basedir=C:/web/mysql5.7datadir=C:/web/mysql5.7/dataport=33061.2搭建WAMP环境

安装MySQL初始化MySQL:mysqld--initialize-insecure1.2搭建WAMP环境

安装MySQL启动或停止mysql服务的命令:netstartmysql5.7netstopmysql5.71.2搭建WAMP环境登录MySQL服务器如果需要退出MySQL,直接使用exit或quit命令退出登录

安装MySQLmysql-uroot1.2搭建WAMP环境为了保护数据库的安全,给root用户设置密码使用设置的密码登录

安装MySQLmysql>ALTER

USER

'root'@'localhost'

IDENTIFIED

BY

'123456';mysql-uroot-p1234561.2搭建WAMP环境查看数据库:

安装MySQL1.3安装Composer管理工具

安装ComposerComposer的安装界面:1.3安装Composer管理工具

安装Composer根据安装向导安装,如果看到如下输出结果则安装成功______/____/_______________________________///__\/__`__\/__\/__\/___/_\/___///___//_////////_///_/(__)__//\____/\____/_//_//_/.___/\____/____/\___/_//_/Composerversion1.8.42019-02-1110:52:10……(由于输出结果很长,此处省略)1.4Web服务器配置

配置虚拟主机在hosts文件中配置IP地址和域名的映射关系:www.php.testwww.admin.test1.4Web服务器配置

配置虚拟主机修改httpd.conf文件,启用虚拟主机配置文件,去掉“#”号:#Includeconf/extra/httpd-vhosts.conf1.4Web服务器配置

配置虚拟主机在httpd-vhosts.conf虚拟主机配置文件,添加虚拟主机的配置DocumentRoot"c:/web/apache2.4/htdocs"ServerNamelocalhostDocumentRoot"C:/web/apache2.4/htdocs/www.php.test"ServerNamewww.php.test1.4Web服务器配置

配置虚拟主机启动在htdocs目录中创建www.php.test目录创建index.html内容为“Welcomewww.php.test”访问两个虚拟主机1.4Web服务器配置

访问权限控制AllowOverridenoneRequirealldenied阻止所有访问1.4Web服务器配置

访问权限控制OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted不读取分布式文件允许所有的访问启用Apache的目录浏览功能1.4Web服务器配置【案例】按照要求配置虚拟主机配置一个域名为www.admin.test的虚拟主机目录指定为C:/web/www/www.admin.test关闭目录浏览功能开启分布式配置文件只允许本地访问1.4Web服务器配置【案例】按照要求配置虚拟主机DocumentRoot"C:/web/www/www.admin.test"ServerNamewww.admin.test Options-indexes AllowOverrideAll Requirelocal第2章PHP框架基础(上)初识框架MVC设计模式框架的单一入口和路由命名空间自动加载代码规范学习目标熟悉框架在发开中的作用12掌握MVC设计模式的基本思想掌握PHP命名空间和自动加载的使用3熟悉掌握掌握掌握4掌握框架中路由的实现目录☞点击查看本节相关知识点☞点击查看本节相关知识点MVC设计模式2.22.1初识框架2.3框架的单一入口和路由☞点击查看本小节知识架构目录☞点击查看本节相关知识点☞点击查看本节相关知识点自动加载2.52.4命名空间2.6代码规范☞点击查看本小节知识架构知识架构2.1初识框架1什么是框架2常见的PHP框架知识架构2.2MVC设计模式1什么是MVC2案例【体验MVC设计模式】知识架构2.3框架的单一入口和路由1什么是单一入口2案例【单一入口的实现】3案例【隐藏入口文件】4框架中的路由5案例【路由代码的实现】知识架构2.4命名空间1命名空间的定义2命名空间的使用3导入命名空间知识架构2.5自动加载1注册自动加载函数2注册多个自动加载函数3注册自动加载方法知识架构2.6代码规范1PSR规范2配置VCCode编辑器2.1初识框架

什么是框架遵循通用代码规范,采用指定设计模式编写的代码文件集合,这些代码文件是程序结构代码,可在框架中实现业务功能2.1初识框架

常见的PHP框架Laravel:采用MVC架构模式,支持Composer,提倡代码的重用,保证代码的简洁性与优雅性,适合应用各种开发模式Yii:实现了MVC设计模式并基于该模式组织代码。代码简洁优雅,将代码的重用性发挥到了极致。适用于开发大型Web应用2.1初识框架

常见的PHP框架Symfony:

因稳定性、长久性、灵活性、可复用组件、速度快、性能高等特点备受关注,适用于建立企业级的完善应用程序ThinkPHP:

代码风格符合PSR规范并支持Composer,方便项目移植和维护,适用于Web应用敏捷开发和企业级应用开发2.2MVC设计模式

什么是MVCMVC是模型(Model)、视图(View)和控制器(Controller)的英文首字母缩写模型用于处理数据的部分视图指显示在浏览器中的网页控制器用来处理用户交互的程序2.2MVC开发模式应用场景:用户提交表单,控制器负责读取用户提交的数据进行处理,向模型发送数据,再通过视图将处理结果显示给用户

什么是MVC2.2MVC开发模式

什么是MVC2.2MVC开发模式

【案例】体验MVC设计模式创建实现思路:创建www.myframe.test的虚拟机创建控制器,用来调用模型和视图创建模型,读取数据表中的数据创建视图,将读取的数据在视图中展示2.3框架的单一入口和路由

什么是单一入口单一入口是指项目具有统一的入口文件,项目中的所有功能和操作都经过入口文件,入口文件会完成许多统一处理的操作,如权限控制、用户登录验证等2.3框架的单一入口和路由

【案例】单一入口的实现利用Apache的PATH_INFO功能,为单一入口index.php传递参数根据参数查找对应的控制器和方法:$pathinfo=isset($_SERVER['PATH_INFO'])?$_SERVER['PATH_INFO']:'';$arr=explode('/',trim($pathinfo,'/'));if(!isset($arr[1])){exit('请求信息有误。');}list($controller,$action)=$arr;define('APP_PATH','../app/');define('VIEW_PATH','../views/');$controller=ucwords($controller).'Controller';requireAPP_PATH.$controller.'.php';$obj=new$controller();$obj->$action();实例化控制器调用方法2.3框架的单一入口和路由

【案例】隐藏入口文件利用Apache的URL重写功能,隐藏URL中的“/index.php”开启重写编写重写配置文件Options+FollowSymlinks-MultiviewsRewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]2.3框架的单一入口和路由

框架中的路由框架中的路由,可以简单理解为URL到具体的控制器和方法的映射为项目设计一套固定的URL访问方式,使项目的URL具有独立性2.3框架的单一入口和路由

【案例】路由的代码实现实现当访问http://myframe.test/student时映射到student控制器的index()方法在public\index.php文件,定义路由规则:$route=['student'=>'student/index'];$pathinfo=trim($pathinfo,'/');if(isset($route[$pathinfo])){$pathinfo=$route[$pathinfo];}2.4命名空间命名空间遵循基本标识符命名规则,以数字、字母和下划线构成,不能以数字开头命名空间必须是程序脚本的第1条语句,如果在PHP开始标记前有空格都会报“Fatalerror”错误提示namespace空间名称;

命名空间的定义2.4命名空间

命名空间的使用思考:创建两个PHP文件分别定义不同的命名空间,one命名空间中定义变量和常量,two命名空间直接输出one命名空间的变量和常量,试想程序输出结果2.4命名空间

导入命名空间当在一个命名空间中使用其他命名空间中的类和接口时,通过use关键字导入指定的空间,也可以对导入的内容使用as关键字设置别名2.4命名空间从PHP5.6开始,还允许导入函数和常量,并可为其设置别名useconst常量名;//导入常量usefunction函数名;//导入函数

导入命名空间2.5自动加载第1个参数表示待注册的自动加载函数第2个参数用于设置自动加载函数注册失败时是否抛出异常第3个参数设置注册的自动加载函数添加到队列的开头或结尾语法格式:bool

spl_autoload_register

([

callable

$autoload_function

[,

bool

$throw

=

TRUE

[,

bool$prepend

=

FALSE

]]])

注册自动加载函数2.5自动加载注册自动加载函数案例演示spl_autoload_register()函数的使用functionloader($classname){$filename=substr($classname,strrpos($classname,'\\')+1);$filename=$filename.'.php';if(is_file($filename)){require$filename;}}spl_autoload_register('loader');//自动加载2.4.3节创建的Container类,调用student()静态方法echoContainer::student();

2.5自动加载注册多个自动加载函数案例演示spl_autoload_register()函数注册多个自动加载函数PHP脚本必须以一个空白行作为结束true、false和null必须使用小写继承与实现接口extends和implements必须写在类名称的同一行PSR-4命名空间与目录每个命名空间必须有对应的同名目录,并且必须区分大小写文件名与类名一个文件应该有一个类,且文件名必须与类名相同2.6代码规范

配置VSCode编辑器PHPIntelliSense扩展:PHP代码自动补全函数参数提示查找引用查看定义2.6代码规范phpcs扩展:composerglobalrequiresquizlabs/php_codesniffer打开php文件进行测试,如果语法不规范,编辑器会进行提示

当有不规范的代码时,使用phpcsfixer自动修正。使用Alt+Shift+F快捷键修复

配置VSCode编辑器2.6代码规范EditorConfigforVSCode:配置项目的代码风格,创建.editorconfig将php文件的缩进设为4个空格,将html和js文件的缩进设为2个空格[*.php]indent_style=spaceindent_size=4[*.html]indent_style=spaceindent_size=2[*.js]indent_style=spaceindent_size=2

配置VSCode编辑器第3章PHP框架基础(下)创建自定义框架框架基础搭建反射异常处理学习目标熟悉框架底层代码的实现12掌握框架中对自动加载和请求的处理方法掌握PHP的异常处理方法3熟悉掌握掌握掌握4掌握PHP中反射的使用目录☞点击查看本节相关知识点☞点击查看本节相关知识点框架基础搭建3.23.1创建自定义框架3.3反射☞点击查看本小节知识架构☞点击查看本节相关知识点异常处理3.4知识架构3.1创建自定义框架1创建目录结构2使用Composer实现自动加载3使用Composer管理项目依赖4【案例】创建自己的包知识架构3.2框架基础搭建1App类2Request类3Response类4Container类知识架构3.3反射1反射API2案例【利用反射实现依赖注入】知识架构3.4异常处理1异常的抛出和捕获2自定义异常3多异常捕获处理4【案例】在框架中处理异常3.1创建自定义框架

创建目录结构├─app 应用目录│├─HttpHTTP请求目录││├─Controllers 控制器目录├─resources 资源目录│├─views视图文件目录├─public 公开目录├─myframe 框架目录├─vendorComposer依赖包目录3.1创建自定义框架

使用Composer实现自动加载利用Composer提供的功能实现类的自动加载,创建composer.json文件{"autoload":{"psr-4":{“App\\":"app/"}}}3.1创建自定义框架创建执行composerinstall命令安装依赖关系所需组件安装成功后会在当前目录下生成一个vendor目录

使用Composer实现自动加载3.1创建自定义框架引入自动加载文件vendor/autoload.php在控制器和模型定义命名空间,使用use关键字导入命名空间测试自动加载功能是否已经实现

使用Composer实现自动加载3.1创建自定义框架创建Composer可以自动完成各种依赖包的下载和安装以fengqi/hanzi为例进行演示

使用Composer管理项目依赖composerrequirefengqi/hanzi=0.1.23.1创建自定义框架依赖包的版本号:

使用Composer管理项目依赖名称实例描述特定的版本3.1.33指定包的版本是是3.1.33某个范围的版本>=3.1>=2.6,=2.6,=3.1包的版本大于等于3.1包的版本大于等于2.6,且小于3.0包的版本大于等于2.6,且小于3.0;或包的版本大于等于3.1通配符方式3.1.*与>=3.1,cs[pinyin]=>ceshi)測試3.1创建自定义框架使用Composer创建自己的包,用于实现对数据JSON编码和解码的操作



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3