Valeu Daniel..
e aproveitando.

A minha IDE, PHP Storm, não está fazendo auto-completar das estruturas
hierárquicas (superclasses).
Em nehuma das minha classes que extende ORM, o auto-completar consegue
pegar os métodos da classe Kohana_ORM, mais acima na hierarquia.

Alguém já teve esse problema na sua IDE? (no netbeans aqui funcionou.)

Em 8 de março de 2012 11:06, Daniel Ribeiro Gomes <[email protected]>escreveu:

> Kaléu,
>
> esta sua solução é a maneira como o próprio Kohana resolve o problema.
>
> Pode-se perceber, na classe Kohana_ORM, a mesma solução utilizada:
>
> /**
>  * [Object Relational Mapping][ref-orm] (ORM) is a method of abstracting 
> database
>  * access to standard PHP calls. All table rows are represented as model 
> objects,
>  * with object properties representing row data. ORM in Kohana generally 
> follows
>  * the [Active Record][ref-act] pattern.
>  *
>  * [ref-orm]: http://wikipedia.org/wiki/Object-relational_mapping
>  * [ref-act]: http://wikipedia.org/wiki/Active_record
>  *
>  * $Id: ORM.php 4427 2009-06-19 23:31:36Z jheathco $
>  *
>  * @package    Kohana/ORM
>  * @category   Base
>  * @author     Kohana Team
>  * @copyright  (c) 2007-2009 Kohana Team
>  * @license    http://kohanaphp.com/license.html
>  *
>  * @method ORM where() where(mixed $column, string $op, mixed $value)
>  * @method ORM and_where()
>  * @method ORM or_where()
>  * @method ORM where_open()
>  * @method ORM and_where_open()
>  * @method ORM or_where_open()
>  * @method ORM where_close()
>  * @method ORM and_where_close()
>  * @method ORM or_where_close()
>  * @method ORM distinct()
>  * @method ORM select()
>  * @method ORM from()
>  * @method ORM join()
>  * @method ORM on()
>  * @method ORM group_by()
>  * @method ORM having()
>  * @method ORM and_having()
>  * @method ORM or_having()
>  * @method ORM having_open()
>  * @method ORM and_having_open()
>  * @method ORM or_having_open()
>  * @method ORM having_close()
>  * @method ORM and_having_close()
>  * @method ORM or_having_close()
>  * @method ORM order_by()
>  * @method ORM limit()
>  * @method ORM offset()
>  * @method bool cached()
>  * @method int count_last_query()
>  *
>  * @property string $object_name
>  * @property string $object_plural
>  * @property bool $loaded
>  * @property bool $saved
>  * @property string $primary_key
>  * @property string $primary_val
>  * @property string $table_name
>  * @property array $table_columns
>  * @property array $has_one
>  * @property array $belongs_to
>  * @property array $has_many
>  * @property array $load_with
>  * @property Validate $validate
>  * @property array $rules
>  * @property array $callbacks
>  * @property array $filters
>  * @property array $labels
>  */
>
> class Kohana_ORM {
>  // ...
> }
>
> Vou dar uma olhada em uma possível solução diferente...
>
> Daniel Ribeiro Gomes Pereira
> Twitter <https://twitter.com/#!/drgomesp> | 
> Facebook<https://www.facebook.com/profile.php?id=100000407054469>
>  | LinkedIn <http://www.linkedin.com/pub/daniel-ribeiro-gomes/21/414/39>
> E-mail: [email protected]
> iPhone: +55 (48) 9111-0931
>
>
>
> Em 8 de março de 2012 10:54, Kaléu Caminha <[email protected]> escreveu:
>
> Bem, acabei encontrando uma solução possível
>>
>> /**
>>  * @property mixed $id
>>  * @property mixed $name
>>  * @property mixed $slug
>>  * @property mixed $acronym
>>  */
>> class Model_Entities_State extends ORM { }
>>
>> Agora os atributos aparecem no auto-completar.
>> Mas deixo ainda o tema, Nestes casos, vocE^s utilizam algum outro recurso
>> para deixar mais claro para o programador quais dados ele pode acessar de
>> uma classe model?
>>
>> Obs: Desculpem o e-mail sem o assunto.
>>
>> Em 8 de março de 2012 10:34, Kaléu Caminha <[email protected]>escreveu:
>>
>> Olá pessoal,
>>> sou Kaléu Caminha de Florianópolis, novo na lista.
>>>
>>> Queria perguntar como vocês utilizam os modelos ORM sem precisar decorar
>>> o nome dos campos das tabelas.
>>>
>>> O ORM do Kohana é ótimo, basta extender a classe e pronto, tudo funciona.
>>> Porém, gosto de poder utilizar o recurso de auto-completar e ter acesso
>>> rápido ao nome dos atributos de cada tabela sem ter que decorá-los.
>>>
>>> Como vocês fazem isso?
>>> Se eu coloco os atributos direto na classe Modelo, perco o recurso
>>> mágico __get e todos os atributos, obiviamente, voltam nulo:
>>>
>>> class Model_Entities_State extends ORM {
>>>
>>>   public $id;
>>>   public $name;
>>>   public $slug;
>>>   public $acronym;
>>>   public $region;
>>>
>>> }
>>>
>>> A única solução que visualizei até agora seria get e set...
>>>
>>> class Model_Entities_State extends ORM {
>>>
>>>   public function setName($name)  {
>>>     $this->name = $name;
>>>   }
>>>
>>>   public function getName(){
>>>     return $this->name;
>>>   }
>>>
>>> }
>>>
>>>
>>>  Alguma outra idéia? PhpDoc? enfim...como que vocÊs utilizam os modelos
>>> sem precisar decorar o nome das colunas? Encapsulam tudo?
>>>
>>>  --
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>> Php" dos Grupos do Google.
>>> Para postar neste grupo, envie um e-mail para
>>> [email protected].
>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>> [email protected].
>>> Para obter mais opções, visite esse grupo em
>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>
>>
>>  --
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>> Php" dos Grupos do Google.
>> Para postar neste grupo, envie um e-mail para [email protected]
>> .
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> [email protected].
>> Para obter mais opções, visite esse grupo em
>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>
>
>  --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a