Мне нравится что глядя на этот вызов я вижу вообще все приложение. Могу быстро снести какое-то звено и переделать его, могу в это же звено добавить что-то новое. Управляя одним объектом я управляю вообще всем, дает ощущение контроля. =)
Так... Теперь все стало на свои места. Мне почему-то php дается трудно. Основная задача проста. Опять же, я привык на js описать все методы, а потом используя this двигаться по иерархии внутри метода. И синтаксис к примеру animal.cat.say('meow') мне стал на столько родным, что глядя на классы в php я боюсь потерять все заработанные на психиатра. Хотел легко создавать объекты и так же легко вызывать используя иерархию. Типа animal->dog->say('woof')
Вы правы. Спасибо еще раз за разъяснения. Так же хочу отметить, как я чуть не потерял здравый ум, когда все так и нашел функцию, специально декларированную для добавления метода в объект. runkit_method_add вот она! Только как она это делает? Она принимает тело функции строкой, СТРОКОЙ! Это как eval на js!!! Код в исполняемом файле интерпритируется, видит эту функцию, парсит строку, потом опять интерпритирует. Кто это придумал??? Вы реально правы по поводу подхода к этому языку...
Работа __get, __set, __call и других магических методов не обязывает использовать их вместе. Они отлично работают по отдельности. Проблема состоит в том, что на php в принципе нельзя лаконично построить многомерный объект, без использования ****тых предложений вида class Named_Cart extends Cart { public static function method(){} }. В основе моего заблуждения оказалась невозможность магическим методом создать другой метод объекта. Они могут задавать только примитывы int, bool, array ... Всем спасибо за уделенное время!
Знаю, пример нужен =) классом могу получить максимум одномерный объект. Если в нем же создавать новые объекты, получается говнокод в два раза больше чем пример на js, для решения элементарной задачи. Вот и пытаюсь понять, есть ли вменяемый способ создания многомерного объекта без всяких расширений классов.
Какие есть альтернативы? Вот к примеру, есть задача парсить цены с разных ресурсов. Дальше сравнивать данные, и вываливать статистику в json. В одном файле получается около 1 к строк. Ориентироваться трудно, хочется разбить все на отдельные файлы, которые отвечают за отдельные ресурсы.
Видимо не правильно объясняю. Вот смотрите, если у ячейки с классом name убрать width, то ширина становится 260px. Это много. Она должна быть не больше 200px и не меньше 140px в зависимости от контента в этой ячейке. Если мы поставим max-width 200px ничего не происходит, она так и останется 260px. Вот в чем беда.
Здорово! Работает!
Но. Я давным давно слышал, что почему-то категорически в целях безопасности глобальные переменные нельзя использовать.
В яваскрипте все является объектом. Потому там работает такая конструкция:
function obj(){
this.key = 5;
document.write(this.key);
}
obj();
Есть ли что-то такое в php?