[php]извратные инклюды
на сколько я помню, описание класса должно быть строго в 1 файле
Перед компиляцией запускай свой скрипт, который будет собирать php-файлы из кусочков.
Перед компиляциейв php?
хотя согласен, идти надо в этом направлении
> в php?
Ну, или что там у них есть...
Вобщем, перед запуском.
myclass.php:
class myclass{
include "myclass_func1.php";
include "myclass_func2.php"
}
myclass_func1.php
function func1
{
...
}
myclass_func2.php
function func2
{
...
}
Parse error: parse error, unexpected T_INCLUDE, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /big/web/soldier/pine/test/index.phtml on line 4
в классе могут быть вроде только описания методов и переменных ...................
CreateInclude($inc, $arg1=0 , $arg2=0){
include($inc);
}
такое в данной ситуации прокатывает .................. но как быть если в какой то момент реально прийдётся разбивать что то не предназначенное для этого по разным файлам ?
ЗЫ вариант file => eval или file => fwrite = > include дико медленный ...............
Если бы мне надо делать что-то подобное(в чем я очень-очень сомневаюсь я бы сделал много классов, которые наследуют друг-друга по цепочке, каждый следующий класс - это предыдущий плюс несколько функций.
первое что пришло на ум - каждый метод - 1 файл , всё лежит в одной директории , и всё из этой директории инклюдится в класс . но как выяснилось такое не прокатывает ................
но можно сделать по другому - куда более безобидным способом чем по классу на метод . там как минимум устанешь определять имя конечного класса .
Ну тогда лучше делать, как сказал - пишешь функцию, которая по конфигу будет собирать из множества файлов один - с описанием нужного класса и его методов, а потом инклюдить этот файл. Должно сработать.
вариант file => eval или file => fwrite = > include дико медленный ...............
правильный ответ - такого не надо хотеть . а если шибко хочется - то по другому делать .
в данном случае надо делать не динамический класс у которого методы меняются , а класс с 1 динамическим методом . который как параметр получает что он будет инклюдить ..................
Оставить комментарий
rfgbnfy
вопрос на который есть универсальный ответ "ты не должен этого хотеть" , но может можно как то это сделать .можно ли как нибудь в php инклюдить опять же php , но не валидный . подразумевая что в конечном итоге всё будет валидно .
например хочу функцию разбить на 2 файла .
типа
index.php
file1.php
file2.php
дык парсер ругается . типа на всё ему пофиг - а блоки ( "{ }" ) бить на части не разрешает ..........
ЗЫ просто понадобилось в одном месте все методы одного класса вынести в разные файлы , по файлу на метод , и потом инклюдить их , а тут такая засада ..............
ЗЗЫ может это и совсем ламерский вопрос , и он легко решаем . просто башка под утро уже херово соображает .................