Potrzebuję pomysłu na utworzenie anonimowej klasy na PHP. Nie wiem, jak mogę pracować.Anonimowa budowa klasy
Zobacz moje ograniczenia:
- W PHP nie można dokonać anonimową klasę, jak funkcji anonimowej (jak
class {}
); - W PHP nie masz zasięgu klasy (z wyjątkiem przestrzeni nazw, ale ma ten sam problem poniżej);
- W PHP nie można używać zmiennych do określenia nazwy klasy (np.
class $name {}
); - Nie mam dostępu do instalacji PECL
runkit
.
Co potrzebne i dlaczego:
No, muszę stworzyć funkcję o nazwie tj create_class()
że otrzymuje klucz nazwę i anonimową klasę. Przyda mi się, ponieważ chcę używać różnych symboli klas nazw, których PHP nie może zaakceptować. Na przykład:
<?php
create_class('it.is.an.example', function() {
return class { ... }
});
$obj = create_object('it.is.an.example');
?>
Potrzebuję więc pomysłu, który zaakceptuje to zastosowanie. Potrzebuję go, ponieważ na mojej strukturze mam tę ścieżkę: /modules/site/_login/models/path/to/model.php
. Tak więc, model.php
trzeba zadeklarować nową klasę o nazwie site.login/path.to.model
.
na wezwanie create_object()
jeżeli wewnętrzny cache mają $class
definicji (jak it.is.an.example
po prostu wrócić nowej klasy obiektów. Jeśli nie, trzeba obciążenia. Więc będę korzystać z zawartości $class
szukać fastly co jest plik klasy.
Brak anonimowych lekcji PHP jest wyjątkowo restrykcyjny. – MirroredFate
Możesz zajrzeć do tego pytania: http://stackoverflow.com/q/6384431/3933332 – Rizier123
Dlaczego musisz używać nieprawidłowych nazw klas? Dlaczego nie możesz po prostu zastąpić tych "" przez, powiedzmy, "_"? –