Pergunta

Como posso obter o nome do modelo na instância do modelo. Para ex

$ modelo = novo estado;

Aqui, o estado é o modelo $ modelo é a instância do modelo de estado.

Quero obter o nome do modelo, IE State da instância do modelo IE Model IE.

Foi útil?

Solução

get_class () - retorna o nome da classe de um objeto

string get_class ([objeto $ objeto])

Portanto, você usa assim: $ modelName = get_class ($ modelInstance);

-> ele retorna uma string.

Outras dicas

Adicione este método à sua classe de estado

public function getModelName()
{
    return __CLASS__;
}

e chame assim:

$model = new State();
echo $model->getModelName();

Use este método PHP: get_class

 print get_class($object);
<?php

class Item extends CActiveRecord
{

    public function getBaseModelName()
    {
        return __CLASS__;
    }

    public function getCalledClassName()
    {
        return get_called_class();
    }
}

class Product extends Item {}

class Service extends Item {}

class ProductController extends CController
{
    $model = new Product;
    echo $model->baseModelName; // Item
}

class ServiceController extends CController
{
    $model = new Service;

    echo $model->calledClassName; // Service 
    echo get_class($model); // Service 
}   
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top