|
|
|
| Можно ли инклудить файл внутри определения класса?
Т.е.
есть такой вот класс
class SomeClass
{
function metod1()
{
// определение метода
}
function metod2()
{
// очень длинный метод, т.е. много строк
}
}
|
metod2, к примеру очень длинный, и я хочу выбросить его в отдельный файл. Т.е. сделать вот так:
class SomeClass
{
function metod1()
{
// определение метода
}
require("metod2.php");
}
|
А внутри metod2.php, только
<?php
function metod2()
{
// очень длинный метод
}
?>
|
Но в ответ получаю ошибку. Можно ли сделать так или нет (в php такое невозможно)?
Я уже и <?php ?> убирал в metod2.php, и в txt его переименовывал, и include и require пробовал - не получается :( | |
|
|
|
|
|
|
|
для: targa
(15.03.2006 в 07:45)
| | Помоему можно подключать только в самом методе.
Не понятно зачем выносить метод в отдельный файл. Ведь по идеи в одном файле должен быть один класс. Что такой объемный класс получается? | |
|
|
|
|
|
|
|
для: targa
(15.03.2006 в 07:45)
| | Из мануала:
Вы НЕ имеете права разбивать определение класса на несколько файлов.
Также Вы НЕ имеете права разбивать определение класса на несколько PHP-блоков, кроме случаев, когда разрыв блока находится в определении метода.
Этот код работать не будет:
<?php
class test {
?>
<?php
function test() {
print 'OK';
}
}
?>
|
В то время, как этот - допустим:
<?php
class test {
function test() {
?>
<?php
print 'OK';
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(15.03.2006 в 11:21)
| | >>Вы НЕ имеете права
>>Также Вы НЕ имеете права
Сразу вспоминается УК :)
Спасибо за ответ.
2 Artemy
Да к сожалению длинноват. Можно конечно вынести часть кода во внеклассовую функцию, но не хочется. | |
|
|
|