Современный способ объявить класс в php

Желая удостовериться я использую классы правильно. Основной сценарий принимает это от пользователя:

1. month
2. year
3. the type of event they want to find (microsoft or linux)

Чтобы программа нашла событие Microsoft, она должна выполнить регулярное выражение: '(идентификатор =) + [0-9] +', Чтобы программа нашла событие Linux, это должно выполнить регулярное выражение: '(идентификатор =) + [A-F] +'

Создание класса Событий кажется логическим способом организовать код. Я не хочу отправлять необходимое регулярное выражение в класс из основного сценария, если это возможно. Я хочу сказать класс событий, если это - Microsoft или событие Linux, и позвольте классу возвратить обработанные данные на основе переменных, которые предопределены в классе для каждого типа события.

У меня есть существующий код, записанный как:

 class Events
    {
            var $month;
            var $year;
            var $event_identifier_expression;

      public function events($month, $year)
      {
       $this->month = $month;
       $this->year = $year;
       return $this->event_identifier_expression.$month.$year;
      }
    }

Я хочу использовать что-то как несколько статических вспомогательных методов в классе Событий вместо этого. Если я изменю существующий код на код ниже, то он позволит мне называть microsoft_events и linux_events независимо снаружи класса, и этот корректный путь состоит в том, чтобы создать класс? (пример кода для того, чтобы вызвать статические функции снаружи класса ценится):

class Events
    {
            public function __construct()
            {var $month;
             var $year;
             var $event_identifier_expression;
            } 

      public static function microsoft_events($month, $year)
      {
       $this->month = $month;
       $this->year = $year;
       $this->event_identifier_expression = '(ID=)+[0-9]+';
       return $this->event_identifier_expression.$month.$year;
      }
      public static function linux_events($month, $year)
      {
       $this->month = $month;
       $this->year = $year;
       $this->event_identifier_expression = '(ID=)+[A-F]+';
       return $this->event_identifier_expression.$month.$year;
      }
    }
5
задан JMC 13 August 2010 в 08:53
поделиться