一个有用的类

Utils Greeting::say方法可以检查我们的环境是否正确。 现在, 让我们创建一些更有用的类。

我们要添加到此扩展中的第一个有用的类将为用户提供筛选功能。 此类称为 Utils\Filter 其代码必须放在 utils/utils/filter.zep:

此类的基本框架如下所示:

  1. namespace Utils;
  2. class Filter
  3. {
  4. }

该类包含筛选方法, 这些方法可帮助用户从字符串中筛选不需要的字符。 第一种方法称为 alpha, 其目的是只筛选那些 ASCII 基本字母的字符。 首先, 我们只是遍历字符串, 将每个字节打印到标准输出:

  1. namespace Utils;
  2. class Filter
  3. {
  4. public function alpha(string str)
  5. {
  6. char ch;
  7. for ch in str {
  8. echo ch, "\n";
  9. }
  10. }
  11. }

调用此方法时:

  1. <?php
  2. $f = new Utils\Filter();
  3. $f->alpha("hello");

您将看到:

  1. h
  2. e
  3. l
  4. l
  5. o

检查字符串中的每个字符很简单。 现在, 我们将使用正确的筛选字符创建另一个字符串:

  1. class Filter
  2. {
  3. public function alpha(string str) -> string
  4. {
  5. char ch; string filtered = "";
  6. for ch in str {
  7. if (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') {
  8. let filtered .= ch;
  9. }
  10. }
  11. return filtered;
  12. }
  13. }

完整的方法可以像以前一样进行测试:

  1. <?php
  2. $f = new Utils\Filter();
  3. echo $f->alpha("!he#02l3'121lo."); // prints "hello"

在下面的屏幕截图中, 您可以观看如何创建本教程中介绍的扩展: <iframe src="//player.vimeo.com/video/84180223" width="500" height="313" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen mark="crwd-mark"></iframe>