Pergunta

Existe alguma maneira de ter a função do chamador com outra coisa que debug_backtrace ()?

Estou procurando uma maneira menos gananciosa de simular escopos como amigo ou interno.

Digamos que eu tenho uma classe A e uma classe B.

Até agora, eu tenho usado debug_backtrace(), que é muito ganancioso (IMHO).

Eu pensei em algo assim:

<?php

    class A
    {
        public function __construct(B $callerObj) {}
    }

    class B
    {
        public function someMethod()
        {
            $obj = new A($this);
        }
    }
?>

Pode ser bom se você quiser limitá -lo a uma classe específica, mas digamos que eu tenho 300 aulas e quero limitá -lo a 25 delas?

Uma maneira pode estar usando uma interface para agregar:

public function __construct(CallerInterface $callerObj)

Mas ainda é um código feio.

Além disso, você não pode Use esse truque com estático Aulas.

Tem alguma ideia melhor?

Foi útil?

Solução

Então, depois de ir a Stark Raving louco por não ser capaz de resolver isso, decidi abrir a lista no SharePoint Designer e adicionar a coluna a partir daí..... e funcionou sem problemas.A mesma fórmula que não deseja trabalhar através da interface de configurações normais da Biblioteca Lista do SharePoint funcionou perfeitamente via SharePoint Designer.Eu não farei perguntas;Eu só vou aceitar

Outras dicas

O PHP realmente não fornece uma maneira elegante de lidar com isso. Sem querer iniciar um idioma Flamewar, vou sugerir com cuidado que suas habilidades e necessidades de design provavelmente excederam as limitações da sua ferramenta. O PHP é uma linguagem de script leve que teve muitas características pseudo-operação aparafusadas, mas, em sua essência, nunca foi projetado para a elegante arquitetura corporativa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top