Использование пользовательских классов в Kohana 3

Эй, я создаю наблюдателя за сервером Call of duty 4 в Kohana 3, и я создал для него базовые классы раньше:

  1. Статический класс Socket (для обработки основных сетевых команд)
  2. Класс Cod4Socket (который использует ранее упомянутый класс Socket), предоставляющий функции-оболочки для основных команд.

Я хочу иметь возможность использовать указанные классы внутри контроллеров для веб-сайта.

Куда я должен поместить файлы классов, куда я должен их «включить» и как их использовать?

Изменить: я использую Kohana 3.


person Daniel Sorichetti    schedule 30.07.2010    source источник


Ответы (3)


Куда я должен поместить файлы классов?

Добавьте файлы классов в каталог application/classes/, назвав их строчными буквами.

  • Socket должен войти в application/classes/socket.php
  • Cod4Socket должен войти в application/classes/cod4socket.php

Куда мне их «включить» и как их использовать?

Нет необходимости включать их вручную; просто используйте их, как если бы они уже были включены. Автозагрузчик Kohana найдет классы, если они находятся в правильных файлах.

person Lethargy    schedule 06.08.2010

Дополнительная информация:

Иногда вы хотите разместить свои пользовательские классы в таком месте

application/
    classes/
        controllers/
            .......
        models/
            ......
        etc/
            CustomClassFirst.php
            CustomClassSecond.php

Вы можете вызвать эти классы с помощью

$customClassOne = new Etc_CustomClassFirst();

а затем переопределить имя класса в это

class Etc_CustomeClassFirst {}
person boi_echos    schedule 04.07.2015

Сделал сам: http://www.dealtaker.com/blog/2010/06/02/kohana-php-3-0-ko3-tutorial-part-9/

Вы должны включить файлы в файл bootstrap.php, а затем просто вызвать его на своем контроллере.

person Daniel Sorichetti    schedule 30.07.2010
comment
Если вы создали классы самостоятельно и используете их только вместе с Kohana, вы должны добавить их в стиле Kohana, как описано в Lethargy. - person finpingvin; 23.10.2010