PHP网站开发实例教程(第3版) 课件 第8章 PHP框架基础(下).pptx

PHP网站开发实例教程(第3版) 课件 第8章 PHP框架基础(下).pptx

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第8章PHP框架基础(下);学习目标/Target;学习目标/Target;章节概述/Summary;目录/Contents;划分框架目录结构;;;myframe.test框架的目录结构:;使用Composer管理项目;;;;;;;;;;8.2.3使用Composer管理项目依赖;;Composer通过packagist资源库获取依赖包。在packagist资源库中,依赖包的命名方式为“用户名/包名”。例如“naux/auto-correct”包能够在中文和英文之间添加空格,并纠正专用名词的大小写。;通常情况下,一个包会有多个版本,指定版本号的多种方式:;以naux/auto-correct包为例,演示使用Composer管理项目依赖:;test()方法的代码:;如果想要卸载依赖包,可以使用如下命令:;;在进行项目开发时,除了可以使用Composer下载packagist中的依赖包外,还可以将自己实现的功能或项目打包成依赖包,完成测试后,将其发布到Packagist资源库中供其他人使用。

下面通过案例演示如何使用Composer创建自己的包。;①在C:\web\apache2.4\htdocs目录中创建包的基础目录custom-php-json,在该目录下创建src目录和src\Json.php文件,实现对数据的JSON编码和解码。

②创建custom-php-json\composer.json文件,编写包的初始化信息。

③在项目中使用创建的包,测试对数据的JSON编码和解码。;框架基础搭建;;;实现App类的具体步骤:;;;实现Request类的具体步骤:;;;实现Response类的具体步骤:;;;实现Container类的具体步骤:;反射;;;在PHP中使用反射,主要通过反射API来完成。反射API常用的类与接口:;在PHP中使用反射,主要通过反射API来完成。反射API常用的类与接口:;ReflectionClass类常用的方法:;ReflectionMethod类和ReflectionFunctionAbstract类常用的方法:;ReflectionProperty类常用的方法:;ReflectionParameter类和ReflectionExtension类常用的方法:;8.4.1反射API;?php

//定义一个类,用于测试

classUpload{

/**

*上传文件信息

*/

private$file=[];

/**

*上传文件保存目录

*/

public$upload_dir=/upload/;

};?php

require./upload.php;

//获取类中所有的属性

$reflect=newReflectionClass(Upload);

$properties=$reflect-getProperties();

var_dump($properties);

foreach($propertiesas$property){

if($property-isPublic()){

var_dump($property-getDocComment()); //文档注释

var_dump($property-getName()); //属性名称

var_dump($property-getValue(newUpload)); //属性值

}

};8.4.1反射API;;;指框架通过类的构造方法的参数为类注入依赖的对象;下面演示使用依赖注入和不使用依赖注入的区别。;8.4.2依赖注入;;了解了反射API和依赖注入后,接下来在自定义框架中实现依赖注入。自定义框架需要借助反射API获取构造方法和普通方法依赖的对象,将依赖的对象创建后注入。;①实现构造方法的依赖注入。修改myframe\Container.php的make()方法,创建对象前使用ReflectionClass类获取构造方法的参数,根据参数获取类名,实例化该构造方法依赖的类并完成依赖注入。

②实现普通方法的依赖注入。修改myframe\App.php的dispatch()方法,创建普通方法前使用ReflectionMethod类获取普通方法依赖的对象,在调用普通方法时传入依赖的对象,完成依赖注入。;异常处理;;PHP提供了Exception类表示程序中的异常,通过实例化该类可以创建异常对象,创建后的异常对象使用throw关键字抛出。;使用try…catch语句可以捕获程序中抛出的异常并进行处理。;使用try…ca

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档