最新消息:周一至周五21:30分QQ群(161510483)直播,零基础免费学谷歌SEO,WEB前端,PHP入门教程

第二十六节:使用PHP类重构代码

PHP零基础入门 林雍岷 118浏览

重构代码:指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。在词汇表项目中我们用于读取和编写数据文件的代码非常适合封装在类中。因此,我们将重新组织文件代码,并对我们的应用程序进行调整以使用提供程序模式。创建文件夹5.3_code_improve_with_classes文件夹,把上节课《介绍PHP类》代码复制粘贴到本节课使用。

重构代码-文件调整

第一步、修改term.class.php文件

把文件term.class.php修改为phrasesterm.class.php,类名term改为PhrasesTerm。

第二步、把term.class.php文件修改为phrasesterm.class.php

第三步、修改file_function.php文件

1、修改导入文件命

2、修改add_term()函数的类名

测试代码正常运行

重构代码-使用PHP类重构代码

第一步、把file_funtion.php的函数转为类

类是组织代码的好方法:特别是代码在某种程度上相连;类重构代码在一定程度起到保护作用:

  1. 命名忧虑:namespace;
  2. 方法都在类里面:不用担心命名导致的冲突;
  3. 需要顾虑的是类名的冲突;
  4. 类名有属性可能会引起问题。

第二步、创建filedataprovider.class.php,把file_function.php代码复制到这个文件,并修改代码:

代码解释

  1. 在函数前面添加public关键词,除了get_data和set_data函数,因为这两个函数只是在这个文件中使用;
  2. 多次使用get_terms()函数,确保get_terms()方法将引用get_data()方法,这意味着我们的方法内部必须要用$this然后get_data(),所以任何时候我们将实例数据称为实例属性或$this上的方法特定类;
  3. CONFIG[‘data_file’]改为$this->data_path:我们创建这个文件数据提供对象,我们都需要提供该路径。

第三步、决定我们要在哪里创建这个对象并使用

修改config.php文件

代码解释

  1. new FileDataProvider(APP_PATH . ‘data.json’);这是是对象,不能够使用对象作为常量;
  2. 把常量CONFIG改为一般变量;
  3. 把带有CONFIG常量修改为$config一般变量,修改functions.php代码:

第四步、修改index.php代码

代码解释

  1. 我们调用provider的方法;
  2. 必须进入我们使用函数的每个文件中的每一个对象。

第五步、修改detail.php代码

第六步、修改控制器调用到的方法

1、文件index.php

2、文件edit.php

3、文件delete.php

刷新报错:

第八步、把filedataprovider.php引入进来

还是报错,因为引入的文件先后顺序有问题:

重构代码-测试代码是否正常运行

  1. 登陆正常;
  2. 删除正常;
  3. 编辑正常;
  4. 添加正常;
  5. 登出正常。

下载本节《使用PHP类重构代码》

转载请注明:林雍岷 » 第二十六节:使用PHP类重构代码