没有合适的资源?快使用搜索试试~ 我知道了~
首页精通PHP7:面向对象、设计模式与实战第五版
"《PHP Objects, Patterns, and Practice 第五版》是一本针对PHP开发者的经典著作,最新更新至PHP 7版本,反映了语言的最新发展。该书不仅深入讲解了PHP面向对象编程(OOP)的核心特性,如类、对象和封装,还着重介绍了设计模式在PHP中的应用,帮助开发者掌握如何构建强大且可维护的代码。 第五版新增内容包括对Composer的全面介绍,这是一种现代的包管理器,替代了早期的PEAR包管理器,使得项目管理更为高效。书中还涵盖了Vagrant,这是一种流行的虚拟化工具,对于开发环境的管理和部署具有重要意义。此外,作者还强调了遵循PHP标准的重要性,以确保代码的可读性和一致性。 本书的核心部分是通过实例演示和深入剖析,教授读者如何运用设计模式,如工厂模式、单例模式和策略模式等,提升软件设计的灵活性和复用性。同时,书中会涉及到实用的开发工具和实践技巧,如单元测试、持续集成和部署流程,这些都是开发出健壮、可靠的代码所必需的技能。 《PHP Objects, Patterns, and Practice》是一本既适合初学者系统学习PHP OOP和设计模式,也适合经验丰富的开发者提升代码质量和工程实践的书籍。无论你是希望通过学习新的语言特性还是优化开发流程,这本书都能提供扎实的基础和实际指导。这是一本值得每个PHP开发者案头必备的参考书。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/10559766/bg10.jpg)
■ Contents
xvi
What’s Left of Data Mapper Now? �������������������������������������������������������������������������������� 370
Summary ���������������������������������������������������������������������������������������������������������������������� 373
■Part III: Practice ����������������������������������������������������������������������������� 375
■Chapter 14: Good (and Bad) Practice ���������������������������������������������������������������� 377
Beyond Code ���������������������������������������������������������������������������������������������������������������� 377
Borrowing a Wheel ������������������������������������������������������������������������������������������������������� 378
Playing Nice ����������������������������������������������������������������������������������������������������������������� 379
Giving Your Code Wings ������������������������������������������������������������������������������������������������ 380
Standards ��������������������������������������������������������������������������������������������������������������������� 380
Vagrant ������������������������������������������������������������������������������������������������������������������������� 381
Testing �������������������������������������������������������������������������������������������������������������������������� 381
Continuous Integration ������������������������������������������������������������������������������������������������� 382
Summary ���������������������������������������������������������������������������������������������������������������������� 383
■Chapter 15: PHP Standards ������������������������������������������������������������������������������� 385
Why Standards? ����������������������������������������������������������������������������������������������������������� 385
What Are PHP Standards Recommendations? ������������������������������������������������������������� 386
Why PSR in Particular? ����������������������������������������������������������������������������������������������������������������������� 386
Who Are PSRs for? ������������������������������������������������������������������������������������������������������������������������������387
Coding with Style ��������������������������������������������������������������������������������������������������������� 387
PSR-1 Basic Coding Standard ������������������������������������������������������������������������������������������������������������388
PSR-2 Coding Style Guide�������������������������������������������������������������������������������������������������������������������390
Checking and Fixing your Code ����������������������������������������������������������������������������������������������������������393
PSR-4 Autoloading ������������������������������������������������������������������������������������������������������� 395
The Rules that Matter to Us ���������������������������������������������������������������������������������������������������������������� 395
Summary ���������������������������������������������������������������������������������������������������������������������� 398
■Chapter 16: PHP Using and Creating Components with Composer ������������������� 399
What Is Composer? ������������������������������������������������������������������������������������������������������ 399
Installing Composer ������������������������������������������������������������������������������������������������������ 400
![](https://csdnimg.cn/release/download_crawler_static/10559766/bg11.jpg)
■ Contents
xvii
Installing a (Set of) Package(s) ������������������������������������������������������������������������������������� 400
Installing a Package from the Command Line ������������������������������������������������������������������������������������ 401
Versions ���������������������������������������������������������������������������������������������������������������������������������������������� 401
require-dev ����������������������������������������������������������������������������������������������������������������������������������������� 402
Composer and Autoload ����������������������������������������������������������������������������������������������� 403
Creating Your Own Package ����������������������������������������������������������������������������������������� 404
Adding Package Information �������������������������������������������������������������������������������������������������������������� 404
Platform Packages������������������������������������������������������������������������������������������������������������������������������ 405
Distribution Through Packagist ������������������������������������������������������������������������������������ 406
Keeping it private ��������������������������������������������������������������������������������������������������������� 409
Summary ���������������������������������������������������������������������������������������������������������������������� 410
■Chapter 17: Version Control with Git ����������������������������������������������������������������� 411
Why Use Version Control? �������������������������������������������������������������������������������������������� 411
Getting Git �������������������������������������������������������������������������������������������������������������������� 412
Using an Online Git Repository ������������������������������������������������������������������������������������� 413
Configuring a Git Server ����������������������������������������������������������������������������������������������� 415
Creating the Remote Repository ��������������������������������������������������������������������������������������������������������� 415
Beginning a Project ������������������������������������������������������������������������������������������������������ 417
Cloning the Repository ����������������������������������������������������������������������������������������������������������������������� 420
Updating and Committing ��������������������������������������������������������������������������������������������� 420
Adding and Removing Files and Directories ����������������������������������������������������������������� 424
Adding a File ��������������������������������������������������������������������������������������������������������������������������������������� 424
Removing a File ���������������������������������������������������������������������������������������������������������������������������������� 424
Adding a Directory ������������������������������������������������������������������������������������������������������������������������������ 425
Removing Directories �������������������������������������������������������������������������������������������������������������������������425
Tagging a Release �������������������������������������������������������������������������������������������������������� 426
Branching a Project ������������������������������������������������������������������������������������������������������ 427
Summary ���������������������������������������������������������������������������������������������������������������������� 433
![](https://csdnimg.cn/release/download_crawler_static/10559766/bg12.jpg)
■ Contents
xviii
■Chapter 18: Testing with PHPUnit ���������������������������������������������������������������������� 435
Functional Tests and Unit Tests ������������������������������������������������������������������������������������ 435
Testing by Hand ������������������������������������������������������������������������������������������������������������ 436
Introducing PHPUnit ����������������������������������������������������������������������������������������������������� 438
Creating a Test Case ��������������������������������������������������������������������������������������������������������������������������� 439
Assertion Methods ������������������������������������������������������������������������������������������������������������������������������ 441
Testing Exceptions ������������������������������������������������������������������������������������������������������������������������������ 442
Running Test Suites ���������������������������������������������������������������������������������������������������������������������������� 443
Constraints �����������������������������������������������������������������������������������������������������������������������������������������444
Mocks and Stubs �������������������������������������������������������������������������������������������������������������������������������� 446
Tests Succeed When They Fail �����������������������������������������������������������������������������������������������������������449
Writing Web Tests ��������������������������������������������������������������������������������������������������������� 452
Refactoring a Web Application for Testing ������������������������������������������������������������������������������������������ 452
Simple Web Testing ����������������������������������������������������������������������������������������������������������������������������454
Introducing Selenium ������������������������������������������������������������������������������������������������������������������������� 456
A Note of Caution ��������������������������������������������������������������������������������������������������������� 463
Summary ���������������������������������������������������������������������������������������������������������������������� 464
■Chapter 19: Automated Build with Phing ���������������������������������������������������������� 465
What Is Phing? ������������������������������������������������������������������������������������������������������������� 465
Getting and Installing Phing ����������������������������������������������������������������������������������������� 466
Composing the Build Document ����������������������������������������������������������������������������������� 466
Targets ������������������������������������������������������������������������������������������������������������������������������������������������468
Properties ������������������������������������������������������������������������������������������������������������������������������������������� 470
Types �������������������������������������������������������������������������������������������������������������������������������������������������� 477
Tasks���������������������������������������������������������������������������������������������������������������������������������������������������482
Summary ���������������������������������������������������������������������������������������������������������������������� 485
■Chapter 20: Vagrant ������������������������������������������������������������������������������������������� 487
The Problem ����������������������������������������������������������������������������������������������������������������� 487
A Little Setup ���������������������������������������������������������������������������������������������������������������� 488
Choosing and Installing a Vagrant Box �����������������������������������������������������������������������������������������������488
![](https://csdnimg.cn/release/download_crawler_static/10559766/bg13.jpg)
■ Contents
xix
Mounting Local Directories on the Vagrant Box ����������������������������������������������������������� 490
Provisioning ������������������������������������������������������������������������������������������������������������������ 491
Setting Up the Web Server ������������������������������������������������������������������������������������������������������������������ 492
Setting Up MySQL ������������������������������������������������������������������������������������������������������������������������������� 493
Configuring a Host Name �������������������������������������������������������������������������������������������������������������������� 494
Wrapping It Up �������������������������������������������������������������������������������������������������������������� 495
Summary ���������������������������������������������������������������������������������������������������������������������� 496
■Chapter 21: Continuous Integration ������������������������������������������������������������������� 497
What Is Continuous Integration? ���������������������������������������������������������������������������������� 497
Preparing a Project for CI �������������������������������������������������������������������������������������������������������������������498
Installing Jenkins Plug-ins ����������������������������������������������������������������������������������������������������������������� 509
Setting up the Git Public Key �������������������������������������������������������������������������������������������������������������� 511
Installing a Project ������������������������������������������������������������������������������������������������������������������������������ 511
Running the First Build ����������������������������������������������������������������������������������������������������������������������� 516
Configuring the Reports ���������������������������������������������������������������������������������������������������������������������� 517
Triggering Builds ��������������������������������������������������������������������������������������������������������������������������������� 520
Summary ���������������������������������������������������������������������������������������������������������������������� 523
■Chapter 22: Objects, Patterns, Practice ������������������������������������������������������������� 525
Objects ������������������������������������������������������������������������������������������������������������������������� 525
Choice ������������������������������������������������������������������������������������������������������������������������������������������������� 526
Encapsulation and Delegation ������������������������������������������������������������������������������������������������������������ 526
Decoupling ������������������������������������������������������������������������������������������������������������������������������������������ 526
Reusability ������������������������������������������������������������������������������������������������������������������������������������������ 527
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 527
Patterns ������������������������������������������������������������������������������������������������������������������������ 527
What Patterns Buy Us ������������������������������������������������������������������������������������������������������������������������� 528
Patterns and Principles of Design ������������������������������������������������������������������������������������������������������ 529
Practice ������������������������������������������������������������������������������������������������������������������������ 530
Testing ������������������������������������������������������������������������������������������������������������������������������������������������ 530
Standards �������������������������������������������������������������������������������������������������������������������������������������������531
![](https://csdnimg.cn/release/download_crawler_static/10559766/bg14.jpg)
■ Contents
xx
Version Control �����������������������������������������������������������������������������������������������������������������������������������531
Automated Build ��������������������������������������������������������������������������������������������������������������������������������� 531
Continuous Integration ����������������������������������������������������������������������������������������������������������������������� 532
What I Missed ������������������������������������������������������������������������������������������������������������������������������������� 532
Summary ���������������������������������������������������������������������������������������������������������������������� 533
■Chapter 23: Appendix A: Bibliography ��������������������������������������������������������������� 535
Books ��������������������������������������������������������������������������������������������������������������������������� 535
Articles ������������������������������������������������������������������������������������������������������������������������� 535
Sites ����������������������������������������������������������������������������������������������������������������������������� 536
■Chapter 24: Appendix B: A Simple Parser ��������������������������������������������������������� 539
The Scanner ����������������������������������������������������������������������������������������������������������������� 539
The Parser �������������������������������������������������������������������������������������������������������������������� 548
Index ��������������������������������������������������������������������������������������������������������������������� 565
剩余582页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
youpeng2000
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 新型矿用本安直流稳压电源设计:双重保护电路
- 煤矿掘进工作面安全因素研究:结构方程模型
- 利用同位素位移探测原子内部新型力
- 钻锚机钻臂动力学仿真分析与优化
- 钻孔成像技术在巷道松动圈检测与支护设计中的应用
- 极化与非极化ep碰撞中J/ψ的Sivers与cos2φ效应:理论分析与COMPASS验证
- 新疆矿区1200m深孔钻探关键技术与实践
- 建筑行业事故预防:综合动态事故致因理论的应用
- 北斗卫星监测系统在电网塔形实时监控中的应用
- 煤层气羽状水平井数值模拟:交替隐式算法的应用
- 开放字符串T对偶与双空间坐标变换
- 煤矿瓦斯抽采半径测定新方法——瓦斯储量法
- 大倾角大采高工作面设备稳定与安全控制关键技术
- 超标违规背景下的热波动影响分析
- 中国煤矿选煤设计进展与挑战:历史、现状与未来发展
- 反演技术与RBF神经网络在移动机器人控制中的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)