Вызов конструктора в библиотеке

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Вызов конструктора в библиотеке

Сообщение nepster »

Использую в своем приложении библиотеки (сторонние классы).
К примеру есть класс:

Код: Выделить всё

<?php

class Operations
{
    var $MatrixModel;
    
    public function __construct()
    { 
        // класс для работы с данными
        Yii::import('application.modules.matrix.models.MatrixModel');
        
        $this->MatrixModel = new MatrixModel;
    }


function test()
{
  return 1;
}
 
В конструкторе к примеру подключена библиотека.

Теперь если мне нужно воспользоваться этой библиотекой, я ее вызывают:

Код: Выделить всё

Yii::import('путь.Operations');  
все хорошо. Теперь, что бы выполнился конструктор нужно написать

Код: Выделить всё

$Operations = new Operations; 
тогда если обращаться к методам, все хорошо, конструктор вызывается.

Подскажите как обойти эту строку. В моделе это делается c помощью ::model()->

Я пробовал:

Код: Выделить всё

function test()
{
$this->__construct();
  return 1;
} 
или

Код: Выделить всё

function test()
{
self::__construct();
  return 1;
} 
всегда ошибки.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Вызов конструктора в библиотеке

Сообщение ElisDN »

Добавляете статический метод

Код: Выделить всё

public static function load(){
    return new Operations;
} 
и используете его:

Код: Выделить всё

Operations::load()->test(); 
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Re: Вызов конструктора в библиотеке

Сообщение nepster »

большое спасибо все сработало на ура.
Ответить