Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
лично мне не нравится конфиг. я бы его преобразовал либо в класс, либо в функцию, возвращающую большой массив. - тогда можно конфигурировать бесконечное количество параметров. и не создаются глобальные переменные. ну или использовать неймспейсы. хотя я их и сам пока не использовал, но во всяком случае я против глобальных переменных в любом проявлении
----- Just do it
Okula
Отправлено: 14 Февраля, 2012 - 22:41:37
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
А что, никто не заметил насчёт метода __go() а конкретно его имени.
"PHP оставляет за собой право все методы, начинающиеся с __, считать "магическими". Не рекомендуется использовать имена методов с __ в PHP, если вы не желаете использовать соответствующий "магический" функционал."
Ezi
Отправлено: 14 Февраля, 2012 - 22:56:35
Частый гость
Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010
Помог: 2 раз(а)
Okula,
Okula пишет:
"PHP оставляет за собой право все методы, начинающиеся с __, считать "магическими". Не рекомендуется использовать имена методов с __ в PHP, если вы не желаете использовать соответствующий "магический" функционал."
Это уличная магия(c)
А если по теме, то я последовал совету одного юзера на форуме, обзывать приватные методы с начала "__".
Panoptik, предложи хотя бы минимальную конструкцию конфига в качестве класса или функции. Данное решение было выбрано с целью простоты занесения настроек конеччным юзером.
p.s. Код в целом не быдлокод?
----- Хочешь жить - умей вертеться
Okula
Отправлено: 14 Февраля, 2012 - 23:20:19
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Как таковой объектной модели тут нет. Просто обёртка статичных функций.
Panoptik
Отправлено: 14 Февраля, 2012 - 23:45:33
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
не буду умничать. вот пример k0stix'a с rutracker.org в его уроках был предложен такой подход. содается класс конфиг - а его уже наследует класс базы данных, а делее по иерархии
ну и 3-й пример я возьму с фреймворка, которым сам щас понемногу начинаю пользоваться - yii
вот тут как раз используется return с безразмерным массивом настроек и параметров
// application-level parameters that can be accessed
// using Yii::app()->params['paramName']
'params'=>array(
// this is used in contact page
'adminEmail'=>'admin@site.ru',
),
);
не хочется изобретать велосипеды, когда вокруг сколько хороших придуманных способов
----- Just do it
Ezi
Отправлено: 15 Февраля, 2012 - 00:27:07
Частый гость
Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010
Помог: 2 раз(а)
Panoptik пишет:
это идея зенд-фреймворка хранить конфиг данные в текстовых(ини) файлах
, мне нравится больше этот подход. (Добавление)
и что с методом __go(); делать, переименовать? что за магические функции, я гуглил, ничего не понял
----- Хочешь жить - умей вертеться
Bio man
Отправлено: 15 Февраля, 2012 - 01:31:42
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Ezi, ну добавьте в имена приватных методов букву р, например, private function pGo($url), знаю для свойств принято, если можно так сказать, использовать _, например protected $_var;
насчет конфига - мне больше с ини файлом нравится. сам так делаю
Ezi
Отправлено: 15 Февраля, 2012 - 02:05:00
Частый гость
Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010
Помог: 2 раз(а)
Bio man, благодарю за советы, так и сделаю.
а в каком случае мой "класс" будет классом а не
Okula пишет:
Просто обёртка статичных функций.
----- Хочешь жить - умей вертеться
Okula
Отправлено: 15 Февраля, 2012 - 08:19:37
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Такой класс думаю никогда, потому что он работает только с одним конкретным сайтом и все параметры жёстко зашиты в нём.
Классы должны быть более абстрактными, гибкими.
Ezi
Отправлено: 15 Февраля, 2012 - 08:26:53
Частый гость
Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010
Помог: 2 раз(а)
а понял вроде, мне необходимо сделать класс универсальным? тоесть для нескольких юзеров, к примеру:
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Ezi
Классы, статичные/приватные методы, наследование/полиморфизм и т.п. - без понимания общей картины это лишь умные слова.
Суть в том, что вышесказанное есть лишь реализация объектно-ориентированного подхода в PHP. Иными словами, ООП существует независимо от своей реализации в конкретном языке. Поэтому вопрос "а является ли мой класс ООП" не имеет смысла.
Как только вы поймете принципы - что такое объектный подход - реализация получится сама собой. В теории можно представить себе реализацию объектного подхода и без использования классов в PHP.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
snikers987
Отправлено: 15 Февраля, 2012 - 08:39:37
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.