• 一个有用的类

    一个有用的类

    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>