当前位置:首页 > 程序设计 >
《深入PHP:面向对象、模式与实践》电子书封面

深入PHP:面向对象、模式与实践

  • 发布时间:2019年04月12日 11:48:24
  • 作者:Matt Zandstra
  • 大小:41.3 MB
  • 类别:PHP编程电子书
  • 格式:PDF
  • 版本:中文完整第3版
  • 评分:9.4

    深入PHP:面向对象、模式与实践 PDF 中文完整第3版

      给大家带来的一篇关于PHP编程相关的电子书资源,介绍了关于PHP、面向对象、PHP模式、PHP实践方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小41.3 MB,Matt Zandstra编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.3。

      内容介绍

      读者评价

      php 面向对象开发了一年左右了。但是没有十分具体细化的学习思想。希望这本书可以更好的理解和应用。这本PHP书籍还是不错的,里面的内容对于初学者来说比较有用。

      这书跟踪一年多了,貌似每次满减活动都没份参与,要么就是瞬间没货,还好这次抢到优惠券,也算减了不少。之前入门对象时在PDF上看过前面几章,讲解比较透彻,买纸书回来方便划重点和复习。很多基础知识,系统性的讲了,用的都是高大尚的名词有些基础的买来看看系统的整理自己的知识体系还是不错的。

      内容比较深入的,不建议初学者入手,并且这本书比较老了,composer已经取代了pear,git也基本取代了svn。但是前面讲的思想部分是不会过时的。

      每个段落先提出问题, 给出实现, 并讨论成效,
      对于OO入门有一定帮助,能够帮助开拓思路,对OO老鸟有参考价值,可以换换空气,让脑子清空一下,听听别人说什么,对开发新程序有一定作用
      内容并不能说新颖,毕竟内容已经是2007的了,不过设计模式并不会随着技术的改进而有多少变化,毕竟理论层面上不会有什么改变的东西
      该书的第三版早已上市,中文版什么时候出现不得而知,该书的中文翻译算是我看过的php书籍中质量较高的一本,虽然是第二版,我并不认为这会妨碍你阅读第二版的中文版,好书就是好书,过几年仍然会是,推荐阅读

      另外一本是PHP in Action。
      PHP架构中常用的设计模式不多,书中基本都谈到了。我觉得学习设计模式最好是和框架一起进行,一个是理论,一个是实践,而且流行的框架基本代表了设计的最新思想,设计模式没有好坏之分,所以有空都应该学学。

      看到有人说这本书没有达到书名的目标,可能“深入”这个词让他产生的误解了吧,这本书更像一本实实在在的PHP进阶指南。
      本书全文分为三个方面:PHP面向对象思想,PHP设计模式,PHP实践。这三个方面对于初级PHP工程师进阶来说都是很重要的内容。
      PHP OOP,一般非直接通过PHP入门编程的童鞋对OOP都应该有一定的理解,这些内容对于PHP草根工程师更有帮助。此外,这一部分对PHP的一些OOP特性进行了阐述。
      PHP 设计模式,这一块介绍了比较常用的设计模式,并且用PHP的语法进行了实现,对于对设计模式理解不到位的童鞋有帮助。此外,这一部分还涉及一些架构方面的内容,但是浅尝辄止,有兴趣的童鞋可以看一看《企业应用架构模式》一书
      PHP 实践,对于不了解的童鞋帮助很大,对于有所了解的童鞋帮助很小。这一块比较成体系的介绍了PHP开发的相关工具,仔细看一遍还是有一些收获的。不过,关于包管理一节用到的PEAR包未免太落后了,可以不用学,把精力用来学Composer是更优的选择。至于版本管理,SVN已经落伍了,不过学习一下倒也无妨,本书下一版本已经把SVN换成Git了。

      过程:花了一个月的时间把书中的主要部分,‘面向对象’和‘模式’部分。第三部分我只是选读了我认为比较有用的‘单元测试’章节。

      翻译: 不错。没有咬文嚼字,通俗易懂,都是按照中国程序员对专属名词的普遍认识所翻译的。
      内容部分-‘面向對象’:在读面向对象部分时,我对本书还是抱有很大希望了,东西讲的比较深入,虽然有错误的地方,但是结构还是比较清晰。作者没有把读者当作是刚刚进入php世界的小孩子,而是认为读者有了一定的工作经验。所以在作者花了更多的精力来,讲解面向对象的高级特性,还为了给最重要的‘模式’部分铺路,讲了一下’对象与设计‘。
      内容部分-‘模式’: 我对第7-11章节还是比较满意的,作者没有太纠缠于任何一个复杂的设计模式,从一些原则开始讲起,譬如,‘组合与继承’,’解耦‘, ’聚合‘,‘正交’等等。作者将这些零散而又重要的知识点一一呈现,并且细细讲清楚说明白,我还是觉得蛮受用的。一条’针对接口编程,而不是针对实现编程‘贯彻始终。 后面几个章节的各个小模式不管有用没用讲的也算是清晰(都画了UML)。但是,但是,个人认为最最恶心的第12,13章节让我彻底对这本书失望至极,如果说企业模式章节,是为了说明MVC结构的好,那我觉得还勉强说的过去,毕竟有对前面章节的一些知识点的升华,但是‘数据库模式’章节,我就真的不能忍受了。一上来就搞了一个‘数据库映射器’,我不知道该不该称其为模式。其作用是将数据库表中的行和列转换成项目中的数据结构,这么看感觉还是蛮有意义的,但是使用的方法比较复杂,最可气的是当你废了很大功夫搞懂之后,这一章的后半部分开始说这个方法有哪里哪里不好,我们应该把它细化,而使用的方法针对性很强,灵活性不高,感觉上只有‘解耦和’这个作者的思想可以运用到实战中,书中提到的代码我看就算了吧。
      都有更好的替代品:想获得面向对象的知识,可以看《php手册》。想获得模式的知识,可以看《Head First设计模式》。而第三部分“时间”的各个工具,我想也应该和phpunit一样有官方手册可以看吧。没有必要花时间在这本书上面。除非你已经很了解我上面提到的经典书籍里面的知识,想看看如何用php来实现模式的各个概念的,那。。。就看看它吧。

      读第一遍读到数据库模式, 感觉吃不消了, 所以跳过去直接读后面的实践部分. 目前在读第二遍, 希望这次能吃透作者讲的数据库模式.
      这绝对是一本每读一遍都会受益一便的好书, 虽然书中讲的各种模式目前看来没有应用到工作中的机会, 但是通过作者的讲解, 你会看到这些模式一旦应用到项目中, 会给整个代码的架构和质量带来多大的提升.
      很久之前就想买一本介绍模式的书, 看亚马逊的评论, 有三个选择, 四人帮的设计模式, head first desgin pattern 和这一本. 如果你是 php 程序员, 有一定的代码经验, 想了解一下设计模式, 这本书应该是你第一本入手的书. 四人帮的设计模式应该是你的进阶书. 而我个人来说不是那种中意类似 看读学XX 的读者, 如果你是的话可能 head first design pattern 比较适合你.
      该书的结构很清晰, 作者行文也很流畅, 虽然有个别语句可能读第一遍不很明白, 但那很可能是你没有透彻理解当前的上下文, 返回多读几遍便能了解作者的用意. 翻译质量算很高的了. 但是其中的错误(不知是印刷错误还是作者的错误还是译者的错误)有点多, 我目前都有一个长长的列表,打算去官方勘误页面提交(不过貌似现在打不开...).
      对象, 模式 和实践是本书的三个核心部分, 有人说第三部分不是很必要, 但是对于项目经验不是很丰富的程序员来说, 第三部分绝对会对你项目开发流程的认识拓展很多, 个人觉得是不能忽略的部分.
      对象部分对 php 对面向对象的支持和实现讲解的很透彻, 不过重点是在实现, 而不是设计, 如果你需要面向对象设计方面的知识, 这部分是远远不够的, 但是对于 PHP 面向对象的实现, 这部分应该是你需要读得唯一的东西了.
      模式部分是本书的精华部分, 我个人也在网上或视频教程中学过设计模式, 但是还是感觉这本书对于模式的讲解最为透彻. 包括项目中遇到的真实问题, 可能的解决方案, 每种解决方案的不足之处, 引入设计模式, 讲解模式的实现以及实现结果的优势和不足之处, 实现的可能变种...等等方方面面. 全面而透彻.
      5星推荐给任何想要对 OOP 有所了解并应用到项目中的程序员.

      设计模式一直以来很难懂,之前遇到很大的瓶颈,买回来这本书,读起来基本一目十行,不是因为内容太简单,而是该做的我都已经做过了,只是在模式上认识还不够清晰,概念体系不完整,所以想看书补补,觉得这本书设计模式部分写的非常好。甚至这本书应该只保留对象和设计模式部分,其它都是多余的。推荐已经了解并且实践过的同行们都来一读,模式这种东西基本上不会发生太大改变,这本书里描述的也算是非常精准了。
      至于其它部分,变化太快,比如工具中,phar没有讲到,发展历程中,错误的预计了php的发展方向:php6搁浅了,phpng(也就是php7)将在2015年推出第一个版本。不过也无怪于作者,毕竟写这本书的时候鸟哥都没有在github上提交过php的源码。去掉这些多余的部分这本书简直可以堪称完美,或者保留发展历史,把展望去掉,太不好展望了,需要充分了解开源社区中风起云涌的变化。

      编辑推荐

      赞德斯编著的《深入PHP:面向对象、模式与实践(第3版)》全面深入地剖析了面向对象的PHP编程与设计。书中首先介绍了PHP的对象特性(包括抽象类、反射、接口和错误处理等)及可帮助开发人员了解类、对象和方法的对象工具,然后介绍了设计模式。阐述了模式的概念,展示了如何在PHP中实现一些关键的模式。并用专门的章节介绍了企业模式和数据库模式。最后,本书围绕PHP应用程序开发。详细介绍了一批极为实用的辅助开发工具。讨论了具有普遍意义的开发实践。另外,这一版中还新增了闭包、命名空间、持续集成等内容。本书适合每位PHP开发人员进阶参考。可帮助他们掌握PHP面向对象设计和开发的精髓,并最终跻身高端PHP开发人员之列。

      作者简介

      Mart Zandstra,Yahoo公司的高级程序员,曾从事过教师等工作,著有Sams Teach Yourself PHP in 24 Hours等书,还为Linux Magazine、IBMD DeveloperWorks、Zend.com和bdz-corlsuit.com写过PHP方面的文章。

      内容简介

      《深入PHP:面向对象、模式与实践(第3版)》是PHP专家经典力作的新版本。书中主要介绍了如何使用面向对象技术和设计模式编写稳定的、可维护的代码,如何使用Subversion管理多个开发人员,如何使用Phing和PEAR进行构建和安装,以及将构建和测试过程自动化的策略,包括持续集成。

      《深入PHP:面向对象、模式与实践(第3版)》适合中高级PHP程序员阅读。

      内容节选

      单例模式

      生成对象的问题和解决方案

      abstract class Employee
      {
          protected $name;
      
          public function __construct($name)
          {
              $this->name = $name;
          }
      
          abstract function fire();
      }
      
      class Minion extends Employee
      {
          function fire()
          {
              print "{$this->name}:I'll clear my desk\n";
          }
      }
      
      class NastyBoss
      {
          private $employees = array();
      
          function addEmployee($employeeName)
          {
              $this->employees[] = new Minion($employeeName);
          }
      
          function projectFail()
          {
              if (count($this->employees) > 0) {
                  $emp = array_pop($this->employees);
                  $emp->fire();
              }
          }
      }
      
      $boss = new NastyBoss();
      $boss->addEmployee("harry");
      $boss->addEmployee("bob");
      $boss->addEmployee("mary");
      $boss->projectFail();

      由于在NastyBoss类中直接实例化Minion对象,代码的灵活性受到限制。如果NastyBoss对象可以使用Employee类的任何实例,那么代码在运行时就能应对更多特殊的Employee。如下类图:

      如果NastyBoss类不实例化Minion对象,那么Minion对象从何而来?在方法声明中限制参数类型来巧妙避开这个问题,然后除了在测试时实例化对象,在其他时候尽量避免提及。

      如果是这里存在一个原则的话,那便是“把对象实例化的工作委托出来”。我们可以委托一个独立的类或方法来生成Employee对象。

      abstract class Employee
      {
          protected $name;
          private static $types = array("minion", 'clueup', 'wellconnected');
      
          static function recruit($name)
          {
              $num = rand(1, count(self::$types)) - 1;
              $class = self::$types[$num];
              return new $class($name);
          }
      
          public function __construct($name)
          {
              $this->name = $name;
          }
      
          abstract function fire();
      }
      
      class wellConnected extends Employee
      {
          function fire()
          {
              print "{$this->name}: i'll call my dad\n";
          }
      }
      
      $boss = new NastyBoss();
      $boss->addEmployee(Employee::recruit("harry"));
      $boss->addEmployee(Employee::recruit("bob"));
      $boss->addEmployee(Employee::recruit("mary"));

      目录

      • 第一部分 介绍
      • 第1章 PHP:设计与管理
      • 1.1 问题
      • 1.2 PHP 和其他语言
      • 1.3 关于本书
      • 1.3.1 对象
      • 1.3.2 模式
      • 1.3.3 实践
      • 1.3.4 第3版新增内容
      • 1.4 小结
      • 第二部分 对象
      • 第2章 PHP与对象
      • 2.1 PHP对象的偶然成功
      • 2.1.1 最初:PHP/FI
      • 2.1.2 语法糖:PHP 3
      • 2.1.3 一场静悄悄的革命:PHP 4
      • 2.1.4 拥抱改变:PHP 5
      • 2.2 走向未来:PHP 6
      • 2.3 拥护和疑虑:关于对象的争辩
      • 2.4 小结
      • 第3章 对象基础
      • 3.1 类和对象
      • 3.1.1 编写第一个类
      • 3.1.2 第一个对象(或两个)
      • 3.2 设置类中的属性
      • 3.3 使用方法
      • 3.4 参数和类型
      • 3.4.1 基本类型
      • 3.4.2 获得提示:对象类型
      • 3.5 继承
      • 3.5.1 继承问题
      • 3.5.2 使用继承
      • 3.5.3 public、private、protected:管理类的访问
      • 3.6 小结
      • 第4章 高级特性
      • 4.1 静态方法和属性
      • 4.2 常量属性
      • 4.3 抽象类
      • 4.4 接口
      • 4.5 延迟静态绑定:static关键字
      • 4.6 错误处理
      • 4.7 Final 类和方法
      • 4.8 使用拦截器
      • 4.9 析构方法
      • 4.10 使用__clone()复制对象
      • 4.11 定义对象的字符串值
      • 4.12 回调、匿名函数和闭包
      • 4.13 小结
      • 第5章 对象工具
      • 5.1 PHP和包
      • 5.1.1 PHP包和命名空间
      • 5.1.2 自动加载
      • 5.2 类函数和对象函数
      • 5.2.1 查找类
      • 5.2.2 了解对象或类
      • 5.2.3 了解类中的方法
      • 5.2.4 了解类属性
      • 5.2.5 了解继承
      • 5.2.6 方法调用
      • 5.3 反射API
      • 5.3.1 入门
      • 5.3.2 开始行动
      • 5.3.3 检查类
      • 5.3.4 检查方法
      • 5.3.5 检查方法参数
      • 5.3.6 使用反射API
      • 5.4 小结
      • 第6章 对象与设计
      • 6.1 代码设计的定义
      • 6.2 面向对象设计和过程式编程
      • 6.2.1 职责
      • 6.2.2 内聚
      • 6.2.3 耦合
      • 6.2.4 正交
      • 6.3 选择类
      • 6.4 多态
      • 6.5 封装
      • 6.6 忘记细节
      • 6.7 4 个方向标
      • 6.7.1 代码重复
      • 6.7.2 类知道的太多
      • 6.7.3 万能的类
      • 6.7.4 条件语句
      • 6.8 UML
      • 6.8.1 类图
      • 6.8.2 时序图
      • 6.9 小结
      • 第三部分 模式
      • 第7章 什么是设计模式?为何使用它们
      • 7.1 什么是设计模式
      • 7.2 设计模式概览
      • 7.2.1 命名
      • 7.2.2 问题
      • 7.2.3 解决方案
      • 7.2.4 效果
      • 7.3 《设计模式》格式
      • 7.4 为什么使用设计模式
      • 7.4.1 一个设计模式定义了一个问题
      • 7.4.2 一个设计模式定义了一个解决方案
      • 7.4.3 设计模式是语言无关的
      • 7.4.4 模式定义了一组词汇
      • 7.4.5 模式是经过测试的
      • 7.4.6 模式是为协作而设计的
      • 7.4.7 设计模式促进良好设计
      • 7.5 PHP与设计模式
      • 7.6 小结
      • 第8章 模式原则
      • 8.1 模式的启示
      • 8.2 组合与继承
      • 8.2.1 问题
      • 8.2.2 使用组合
      • 8.3 解耦
      • 8.3.1 问题
      • 8.3.2 降低耦合
      • 8.4 针对接口编程,而不是针对实现编程
      • 8.5 变化的概念
      • 8.6 父子关系
      • 8.7 模式
      • 8.7.1 用于生成对象的模式
      • 8.7.2 用于组织对象和类的模式
      • 8.7.3 面向任务的模式
      • 8.7.4 企业模式
      • 8.7.5 数据库模式
      • 8.8 小结
      • 第9章 生成对象
      • 9.1 生成对象的问题和解决方法
      • 9.2 单例模式
      • 9.2.1 问题
      • 9.2.2 实现
      • 9.2.3 结果
      • 9.3 工厂方法模式
      • 9.3.1 问题
      • 9.3.2 实现
      • 9.3.3 结果
      • 9.4 抽象工厂模式
      • 9.4.1 问题
      • 9.4.2 实现
      • 9.4.3 结果
      • 9.4.4 原型模式
      • 9.4.5 问题
      • 9.4.6 实现
      • 9.5 某些模式的骗术
      • 9.6 小结
      • 第10章 让面向对象编程更加灵活的模式
      • 10.1 构造可灵活创建对象的类
      • 10.2 组合模式
      • 10.2.1 问题
      • 10.2.2 实现
      • 10.2.3 效果
      • 10.2.4 组合模式小结
      • 10.3 装饰模式
      • 10.3.1 问题
      • 10.3.2 实现
      • 10.3.3 效果
      • 10.4 外观模式
      • 10.4.1 问题
      • 10.4.2 实现
      • 10.4.3 效果
      • 10.5 小结
      • 第11章 执行及描述任务
      • 11.1 解释器模式
      • 11.1.1 问题
      • 11.1.2 实现
      • 11.1.3 解释器的问题
      • 11.2 策略模式
      • 11.2.1 问题
      • 11.2.2 实现
      • 11.3 观察者模式
      • 11.4 访问者模式
      • 11.4.1 问题
      • 11.4.2 实现
      • 11.4.3 访问者模式的问题
      • 11.5 命令模式
      • 11.5.1 问题
      • 11.5.2 实现
      • 11.6 小结
      • 第12章 企业模式
      • 12.1 架构概述
      • 12.1.1 模式
      • 12.1.2 应用程序和层
      • 12.2 企业架构之外的基础模式
      • 12.2.1 注册表
      • 12.2.2 实现
      • 12.3 表现层
      • 12.3.1 前端控制器
      • 12.3.2 应用控制器
      • 12.3.3 页面控制器
      • 12.3.4 模板视图和视图助手
      • 12.4 业务逻辑层
      • 12.4.1 事务脚本
      • 12.4.2 领域模型
      • 12.5 小结
      • 第13章 数据库模式
      • 13.1 数据层
      • 13.2 数据映射器
      • 13.2.1 问题
      • 13.2.2 实现
      • 13.2.3 效果
      • 13.3 标识映射
      • 13.3.1 问题
      • 13.3.2 实现
      • 13.3.3 效果
      • 13.4 工作单元
      • 13.4.1 问题
      • 13.4.2 实现
      • 13.4.3 效果
      • 13.4.4 延迟加载
      • 13.4.5 问题
      • 13.4.6 实现
      • 13.4.7 效果
      • 13.5 领域对象工厂
      • 13.5.1 问题
      • 13.5.2 实现
      • 13.5.3 效果
      • 13.6 标识对象
      • 13.6.1 问题
      • 13.6.2 实现
      • 13.6.3 效果
      • 13.7 选择工厂和更新工厂模式
      • 13.7.1 问题
      • 13.7.2 实现
      • 13.7.3 效果
      • 13.8 数据映射器中剩下些什么
      • 13.9 小结
      • 第四部分 实践
      • 第14章 良好和糟糕的实践
      • 14.1 超越代码
      • 14.2 借一个轮子
      • 14.3 合作愉快
      • 14.4 为你的代码插上双翼
      • 14.5 文档
      • 14.6 测试
      • 14.7 持续集成
      • 14.8 小结
      • 第15章 PEAR和Pyrus
      • 15.1 什么是PEAR
      • 15.2 了解Pyrus
      • 15.3 安装PEAR包
      • 15.4 使用PEAR包
      • 15.5 创建自己的PEAR包
      • 15.5.1 package.xml
      • 15.5.2 package.xml的组成
      • 15.5.3 contents元素
      • 15.5.4 依赖
      • 15.5.5 使用phprelease进行灵活的自定义安装
      • 15.5.6 准备发布包
      • 15.5.7 创建自己的PEAR频道
      • 15.6 小结
      • 第16章 用phpDocumentor生成文档
      • 16.1 为什么要使用文档
      • 16.2 安装
      • 16.3 生成文档
      • 16.4 DocBlock注释
      • 16.5 类的文档
      • 16.6 文件的文档
      • 16.7 属性的文档
      • 16.8 方法的文档
      • 16.9 在文档中创建链接
      • 16.10 小结
      • 第17章 使用Subversion进行版本控制
      • 17.1 为什么要使用版本控制
      • 17.2 获得Subversion
      • 17.3 配置Subversion代码库
      • 17.4 开始项目
      • 17.5 更新和提交
      • 17.6 增加和删除文件及目录
      • 17.6.1 添加文件
      • 17.6.2 删除文件
      • 17.6.3 添加目录
      • 17.6.4 删除目录
      • 17.7 标记和导出项目
      • 17.7.1 标记项目
      • 17.7.2 导出项目
      • 17.8 创建项目分支
      • 17.9 小结
      • 第18章 使用PHPUnit进行测试
      • 18.1 功能测试与单元测试
      • 18.2 手工测试
      • 18.3 引入PHPUnit
      • 18.3.1 创建测试用例
      • 18.3.2 断言方法
      • 18.3.3 测试异常
      • 18.3.4 运行测试套件
      • 18.3.5 约束
      • 18.3.6 模拟与桩
      • 18.3.7 失败是成功之母
      • 18.4 编写Web测试
      • 18.4.1 为测试重构Web应用
      • 18.4.2 简单的Web测试
      • 18.4.3 Selenium
      • 18.5 警告
      • 18.6 小结
      • 第19章 用Phing实现项目的自动构建
      • 19.1 什么是Phing
      • 19.2 获取和安装Phing
      • 19.3 编写build文档
      • 19.3.1 目标
      • 19.3.2 属性
      • 19.3.3 类型
      • 19.3.4 任务
      • 19.4 小结
      • 第五部分 结论
      • 第20章 持续集成
      • 20.1 什么是持续集成
      • 20.2 CruiseControl和phpUnderControl
      • 20.2.1 安装CruiseControl
      • 20.2.2 安装phpUnderControl
      • 20.2.3 安装项目
      • 20.3 小结
      • 第21章 对象、模式与实践
      • 21.1 对象
      • 21.1.1 选择
      • 21.1.2 封装和委托
      • 21.1.3 解耦
      • 21.1.4 复用性
      • 21.1.5 美学
      • 21.2 模式
      • 21.2.1 模式给我们带来了什么
      • 21.2.2 模式和设计原则
      • 21.3 实践
      • 21.3.1 测试
      • 21.3.2 文档
      • 21.3.3 版本控制
      • 21.3.4 自动构建
      • 21.3.5 持续集成
      • 21.3.6 我们还遗漏了什么
      • 21.4 小结
      • 第六部分 附录
      • 附录A 参考文献
      • 附录B 简单的解析器

       

      学习笔记

      PHP封装cURL工具类与应用示例

      本文实例讲述了PHP封装cURL工具类。分享给大家供大家参考,具体如下: CurlUtils工具类: ?php/** * cURL请求工具类 */class CurlUtils { private $ch;//curl资源对象 /** * 构造方法 * @param string $url 请求的地址 * @param int $responseHeader 是否需要响应头信息 */ public function __construct($url,$responseHeader = 0){ $this-ch = curl_init($url); curl_setopt($this-ch,CURLOPT_RETURNTRANSFER,1);//设置以文件流的形式返回 curl_setopt($this-ch,CURLOPT_HEADER,$responseHeader);//设置响应头信息是否返回 } /** * 析构方法 */ public function __destruct(){ $this-close(); } /** * 添加请求头 * @param array $value 请求头 */ public function addHeader($value){ curl_setopt($this-ch, CURLOPT_HTTPHEADER, $value); } /** * 发送请求……

      php fread读取文件注意事项

      php fread函数介绍 string fread ( int handle, int length ) fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件。 fread()实例: ?php $file = "data.txt"; $fh = fopen($file, "rt"); $userdata = fread($fh, filesize($file)); fclose($fh);? php使用fread需要注意的几点 1、fread读取写入大文件出错的解决办法 使用fread读取文件时如果超过php.ini中设置的最大内存使用值时 会提示错误,下面的方法解决读取大文件的问题: ? set_time_limit(0);//设置脚本执行时间无限长 $flie="flexbuilder_linux_install_a5_11……

      php 截取中英文混合字符串的方法

      php 截取中应为字符串,就不必再用substr或者mb_substr //截取想这样的字符串a李三 利用ASCII /** * * 中英混合的字符串截取 * @param unknown_type $sourcestr * @param unknown_type $cutlength */function assoc_substr($sourcestr, $cutlength) { $returnstr = ''; $i = 0; $n = 0; $str_length = strlen ( $sourcestr ); //字符串的字节数 while ( ($n $cutlength) and ($i = $str_length) ) { $temp_str = substr ( $sourcestr, $i, 1 ); $ascnum = Ord ( $temp_str ); //得到字符串中第$i位字符的ascii码 if ($ascnum = 224) {//如果ASCII位高与224, $returnstr = $returnstr . substr ( $sourcestr, $i, 3 ); //根据UTF-8编码规范,将3个连续的字符计为单个字符 $i = $i + 3; //实际Byte计为3 $n ++; //字串长度计1 } elseif ($ascnum = 192){ //如果……

      php连接MySQL的两种方式区别

      记录一下PHP连接MySQL的两种方式。 先mock一下数据,可以执行一下sql。 /*创建数据库*/CREATE DATABASE IF NOT EXISTS `test`;/*选择数据库*/USE `test`;/*创建表*/CREATE TABLE IF NOT EXISTS `user` ( name varchar(50), age int);/*插入测试数据*/INSERT INTO `user` (name, age) VALUES(harry, 20), (tony, 23), (harry, 24); 第一种是使用PHP原生的方式去连接数据库。代码如下: ?php$host = localhost;$database = test;$username = root;$password = root;$selectName = harry;//要查找的用户名,一般是用户输入的信息$connection = mysql_connect($host, $username, $password);//连接到数据库mysql_query(set names utf8);//编码转化if (!$connection) { die(could not connect to the database.\n . mysql_error());//诊断连接错误}$selected……

      以上就是本次介绍的PHP编程电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:PHP开发实例大全:提高卷

      下一篇:ThinkPHP实战

      展开 +

      收起 -

      下载地址:百度网盘下载
      PHP编程相关电子书
      ThinkPHP实战
      ThinkPHP实战 原书超清版

      《ThinkPHP实战》实战性很强,没有冗长的概念讲解,都是实际项目中使用的实用技术,比如验证码、文件上传、图像处理、调试、安全、缓存等。留言板、博客、论坛、微信公众平台开发4个实战项目案例,使读者尽快切入ThinkPHP企业级项目开发。

      立即下载
      PHP与MySQL高性能应用开发
      PHP与MySQL高性能应用开发 全书超清版

      PHP与MySQL高性能应用开发书中不仅讲解了OOP、设计模式,也讲解了如何进行性能优化和调试。甚至,还对于语言之外的代码重构进行了讲解,本书面向的对象是有一定PHP基础,但是又想深入学习的PHP开发者,欢迎免费下载

      立即下载
      PHP和MySQL Web开发
      PHP和MySQL Web开发 中文扫描第4版

      《PHP和MySQL Web开发》将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子

      立即下载
      PHP与jQuery开发实例
      PHP与jQuery开发实例 高质量版

      这书由浅入深地叙述了怎么使用PHP与jQuery搭建高宽比互动的Web运用。每一章聚焦点一个主题风格,探讨Web开发者常常必须处理的一类实际难题。书中以实际上范例及编码表述的方法得出了有目

      立即下载
      PHP开发实例大全:提高卷
      PHP开发实例大全:提高卷 高清影印版

      《PHP开发实例大全(提高卷)》600经典实例及源码分析 25个应用方向 两卷共1225例 40个方向 分门别类实例一应俱全 供学习、速查、实践练习的超全参考手册 php开发实战1200例 php范例大全 之全新

      立即下载
      编程红宝书:PHP完全自学手册
      编程红宝书:PHP完全自学手册 珍藏扫描版

      本书从基础知识入手,配合图形、代码,使读者从浅入深,逐步掌握PHP知识。对PHP的语法进行了详细的介绍,对于常用的PHP函数,也进行了实例代码演示,具有很强的实用价值,欢迎下载

      立即下载
      PHP从入门到精通
      PHP从入门到精通 影印第4版

      《php从入门到精通(第4版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。《php从入门到精通(第4版)》共分4篇25章,

      立即下载
      高性能PHP7
      高性能PHP7 全书扫描版

      《高性能PHP 7》通俗易懂且图文并茂,实践案例丰富,相信一定能吸引大家阅读。全书目标清晰,始终围绕着如何使用PHP及周边技术来优化性能这一主题,能够为许多工程师解决实际问题。

      立即下载
      读者留言
      zhiqueen

      zhiqueen 提供上传

      资源
      26
      粉丝
      22
      喜欢
      292
      评论
      14

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com